sentence="sentence123456799999999999999999999999999999999999"
sentence_display = tk.Message(content,relief="sunken",justify=tk.LEFT,padx=5,text=sentence,textvariable="Display sentence here.",width=200)
下面是message组件运行后的内容
下面是我用鼠标拖动窗口后message组件内部文字的显示情况,发现内容并没有随着组件宽度的变化而自动调整,我希望程序能够根据空间宽度自动调整每行文字的长度。请问该怎么做?如果Message不行的话,用Text该怎么做呢?
通过绑定Message控件的尺寸改变事件<Configure>
,就可以实现了。一般不需要用Text就不用。
import tkinter as tk
def new(event):
width=sentence_display.winfo_width()
sentence_display.config(width=width)
a=tk.Tk()
a.geometry('300x200')
sentence="sentence123456799999999999999999999999999999999999sentence123456799999999999999999999999999999999999"
sentence_display = tk.Message(a,relief="sunken",justify=tk.LEFT,font='微软雅黑 12',padx=5,text=sentence,textvariable="Display sentence here.",width=200)
sentence_display.pack(fill='x')
sentence_display.bind('<Configure>',new)
a.mainloop()