为了账号安全,请及时绑定邮箱和手机立即绑定

如何使滚动条在 Tkinter 框架中工作?

如何使滚动条在 Tkinter 框架中工作?

慕的地6264312 2022-11-09 16:46:30
我正在制作一个项目,我必须在 Tkinter 的帮助下在框架中显示日志。这是我针对该特定框架的代码。# frame3 for logsframe3 = Frame(    win,    bg='black',    width=310,    height=140,    padx=0,    pady=0)frame3.pack(fill=X, expand=True, padx=(0, 10), pady=0)frame3.pack_propagate(0)  # stops frame from shrinkingscroll = Scrollbar(frame3)scroll.pack(side = RIGHT, fill = Y)生成日志并在该帧中打印。这是生成和打印日志的代码logs = Label(frame3, text = (time.ctime()), font=("Consolas", 9), bg="#000000", fg="#ffffff")logs.pack(pady=(0, 0))滚动条正在显示,但不知何故无法正常工作。如果我用鼠标单击并滑动它,则滚动条正在滑动。我猜 Tkinter 中有 3 种类型的滚动条(如果我错了,请纠正我)。窗口滚动条。框架滚动条。标签滚动条(不确定)。我认为问题在于我制作的是一个框架的滚动条。但是,我需要它作为标签。或者有什么方法可以将日志直接打印到框架上?不知道真正的问题是什么。另外,有没有一种方法可以在生成日志时使其自动滚动?任何帮助将不胜感激。提前致谢。
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

这是一个使用示例tkinter.scrolledtext:


from tkinter import *

from tkinter import scrolledtext


root = Tk()


txt = scrolledtext.ScrolledText(root)

txt['font'] = ('consolas', '12')

txt.pack(expand=True, fill='both')

txt.configure(state=DISABLED)


def log(data):

    txt.configure(state=NORMAL)

    txt.insert(END, data+'\n')

    txt.configure(state=DISABLED)


log('abc')

log('abcde')


root.mainloop()

希望这会有所帮助!


查看完整回答
反对 回复 2022-11-09
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

.see("end")方法有助于自动滚动。



查看完整回答
反对 回复 2022-11-09
  • 2 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信