[Tkinter 教程02] Message 控件

本文介绍Python Tkinter库中的Message控件,该控件用于显示文本消息,支持自动换行和字体设置。通过一个具体示例展示了如何创建Message控件并配置其属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原系列地址: 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

非常详细的python图形界面组件开发教程,以代码的形式解析讲解,且所有代码都可直接运行,非常容易上手。 这系列教程完全以代码的形式来写的,目标是:读者看代码和注释就可以理解代码的意思。但这里的读者需要具备的几项技能: 1熟悉python语言的基础,如果还没有,先看一下python教程吧,英文官方(http://docs.python.org/tut/tut.html); 2对界面编程有一定的了解,知道基本的概念就可以了; 3对Tk有兴趣,别以为她是已经过时的技术,如果丧失了学习的兴趣,那肯定无法完成了; 4不要以Ctrl+C/Ctrl+V的方式使用本教程(虽然它可以这样直接运行),自己输入,你会发现自己原来也会犯这样的错误; 5安装了python2.5且确认安装了Tkinter模块(默认就安装了,如果你没有强制的把它去掉的话),下载python2.5(http://www.python.org/download/); 6如果在阅读教程中有不明白的,不要强迫自己,直接跳过去,继续下一个内容。 Tkinter教程系列教程的特点: 7他不是一本经过文字润色的文章,全部是代码,作者在必要的时候使用注释来解释; 8以组件为章节进行介绍,每个组件又分为不同的例子,各个例子可以单独使用,分别使用序号标注; 9各个例子的使用“注释+序号”的格式表示开始,下一个例子的开始为上一个例子的结束; 10全部使用结构化编程(SP),没有面向对象的概念(OO); 11基本上包含了TKinter的所有的控件,根据每个控件的使用方法,选择性的介绍了其属性和方法,没有全部介绍,全部的介绍查看Tkinter的官方参考(http://www.pythonware.com/library/tkinter/introduction/); 12例子不是百分百的完美,甚至有的例子没有按照Tkinter参考的描述完成,原因由于作者没有看懂:( 13参考书籍:http://www.pythonware.com/library/tkinter/introduction/,如有冲突以Tkinter参考为准
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值