Message 也是用来显示文本的,用法与 Label 基本一样
创建一个简单的 Message
代码:
import tkinter as tk
root = tk.Tk()
tk.Message(root, text='hello message').pack()
root.mainloop()
结果:
运行程序,可以看到 Hello 之后,Message 显示在它的下一行,这也是 Message 的一个特性。Label 没有
如果不让它换行的话,指定足够大的宽度
代码:
import tkinter as tk
root = tk.Tk()
tk.Message(root, text='hello message', width=100).pack()
root.mainloop()
效果:
使用 aspect 属性指定宽高比例
代码;
import tkinter as tk
root = tk.Tk()
for i in range(10):
tk.Message(root, text='A'*i, aspect=400).pack()
root.mainloop()
效果:
默认情况向 width/height = 1.5,可以使用 aspect 属性,设置为4,即宽为高的4倍,可以显示10个'A'
Message 绑定变量
代码:
import tkinter as tk
root = tk.Tk()
v = tk.StringVar()
v.set('000')
for i in range(10):
tk.Message(root, text='A', textvariable=v,).pack()
print(v.get())
root.mainloop()
效果:
绑定变量 v,虽然创建 Message 时使用了 text 来指定 Message 的值,绑定的变量优先级高,可以改变 text指定的值
测试一下 justify 属性
代码:
import tkinter as tk
root = tk.Tk()
for i in ['left', 'right', 'center']:
tk.Message(root, text='ABC DEF GHI', justify=i, ).pack()
root.mainloop()
结果:
显示的文本自动断行,上下行分别使用了左对齐,右对齐和居中对齐