[Tkinter 教程02] Message 控件

原系列地址: Python Tkinter

Message 控件

Message 控件用来展示一些文字短消息. Message 和 Label 控件有些类似, 但在展示文字方面比 Label 要灵活, 比如 Message 控件可以改变字体, 而 Label 控件只能使用一种字体. 它提供了一个换行对象, 以使文字可以断为多行. 它可以支持文字的自动换行及对齐. 这里要澄清一下前面提到的 Message 控件可以改变字体的说法: 这是说我们可以为单个控件设置任意字体, 控件内的文字都将显示为该字体. 但我们不能给单个控件内的文字设置多种字体. 如果你需要这么做, 可以考虑使用 Text 控件.
创建一个 Message 控件的语法如下:
w = Message ( master, option, ... )
下面是一个小例子, 我们用 Message 控件展示了一条甘地的名言:

from Tkinter import *
master = Tk()
whatever_you_do = "Whatever you do will be insignificant, but it is very important that you do it.\n(Mahatma Gandhi)"
msg = Message(master, text = whatever_you_do)
msg.config(bg='lightgreen', font=('times', 24, 'italic'))
msg.pack( )
mainloop( )

上面的例子运行后显示如下:
这里写图片描述

如果要在 Python3 中运行上述脚本, 就需要修改一下 import 语句. 之前我们这样写:

from Tkinter import *

在 Python3 中需要这样写:

from tkinter import *

常用属性

属性名称属性含义
anchor指示文字会被放在控件的什么位置, 可选项有 N, NE, E, SE, S, SW, W, NW, CENTER. 默认为 CENTER.
aspect控件的宽高比, 即 width/height , 以百分比形式表示. 默认为 150, 即 Message 控件宽度比其高度大 50%. 注意: 如果显式的指定了控件宽度, 则该属性将被忽略.
background控件的背景色. 默认值为当前窗口系统的默认背景色.
bg同 background.
borderwidth边框宽度. 默认为2.
bd同 borderwidth.
cursor定义鼠标移动到 Message 上时的光标样式. 默认为系统标准样式.
font文字字体. 默认为当前系统默认.
foreground文字颜色. 默认为当前系统默认.
fg同 foreground
highlightbackground和 highlightcolor, highlightthickness 这两个属性一起指定了控件如何绘制高亮区域.
highlightcolor参考 highlightbackground.
highlightthickness参考 highlightbackground.
justify指示多行文本如何对齐. 可选项为 LEFT, RIGHT, CENTER. 默认为 LEFT. 注意: 该属性指示文字对齐方式. 如果要指定文字在控件内的位置, 请使用 anchor 属性.
padx水平方向的边距. 默认为 -1, 即无边距.
pady垂直方向的边距. 默认为 -1, 即无边距.
relief边框样式. 默认为 FLAT. 其他可选项为 SUNKEN, RAISED, GROOVE, RIDGE.
takefocus如果设置为 True, 控件将可以获取焦点. 默认为 False.
text文字内容. 控件将根据宽度自动对文字进行断行.
textvariable关联一个 Tkinter variable 对象, 通常为 StringVar 对象. 控件文本将在该对象改变时跟着改变.
width控件宽度, 单位为 charater units (不是像素). 如果未指定该选项, 将根据 aspect 属性自动设置宽度.

译者水平有限, 如有疏漏, 欢迎指正.
已获得原作者授权. 原文地址: Message Widget

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值