跳至正文
View Categories

1 min read

1、tkinter常用15个控件 #

控件名称说明
Button按钮控件,在程序中显示按钮
Canvas画布控件,用来画图形,如线条及多边形等
Checkbutton多选框控件,用于在程序中提供多项选择框
Entry输入控件,定义-一个简单的文字输入字段
Frame框架控件,定义一个窗体,以作为其他控件的容器
Label标签控件,定义一个文字或图片标签
Listbox列表框控件,定义一个下拉方块
Menu菜单控件,定义一个菜单栏、下拉菜单和弹出菜单
Menubutton菜单按钮控件,用于显示菜单项
Message消息控件,定义一个对话框
Radiobutton单选按钮控件,定义一个单选按钮
Scale范围控件,定义一个滑动条,以帮助用户设置数值
Scrollbar滚动条控件,定义-一个滚动条
TextText 文本控件,定义一个文本框
Toplevel此控件与Frame控件类似,可以作为其他控件的容器。但是此控件有自己的最上层窗口,可以提供窗口管理接口

2、控件的共同属性: #

(1)anchor #

定义控件在窗口内的位置或文字信息在控件内的位置。可以是 N、NE、E、SE、S、SW、W、NW 或 CENTER。

(2)background(bg) #

定义控件的背景颜色,颜色值可以是颜色名称常数,也可以是 “#rrggbb” 形式的数字。用户可以使用 background 或 bg。

下面的示例是定义一个背景颜色为绿色的文字标签,以及一个背景颜色为 SystemHightlight 的文字标签。

# 设置Label控件颜色
from tkinter import *

win = Tk()
win.title(string="大师码编程")
Label(win, background="#00ff00", text="人生苦短,我用python!").pack()
Label(win, background="SystemHighlight", text="我是中国人,我爱中国!").pack()
win.mainloop()

保存后,直接双击运行,结果如图所示:

(3)bitmap #

定义显示在控件内的 bitmap 图片文件。

(4)borderwidth #

定义控件的边框宽度,单位是像素。

下面的示例是定义一边框宽度为 13 个像素的按钮。

from tkinter import *

win = Tk()
Button(win, relief=RIDGE, borderwidth=13, text="关闭", command=win.quit).pack()
win.mainloop()

结果如图所示:

(5)command #

当控件有特定的动作发生时,如单击按钮,此属性定义动作发生时所调用的 Python 函数。 下面的示例是定义单击按钮时,即调用窗口的 quit() 函数来结束程序:

结果如图所示:

(6)cursor #

定义当鼠标指针移到控件上时,鼠标指针的类型。可使用的鼠标指针类型有 crosshair、watch、xterm、fleur 及 arrow。

from tkinter import *

win = Tk()
Button(win, cursor='crosshair', text='关闭', command=win.quit).pack()
win.mainloop()

结果如图所示:

(7)font #

如果控件支持标题文字,就可以使用此属性来定义标题文字的字体格式。此属性是一个元组格式:(字体,大小,字体样式),字体样式可以是 bold、italic、underline 及 overstrike。用户可以同时设置多个字体样式,中间以空白隔开。

下面的示例是定义三个文字标签的字体。

# 设置文本标签的字体
from tkinter import *

win = Tk()
Label(win, font=("Times", 8, "bold"), text="关山三五月,客子忆秦川。").pack()
Label(win, font=("Symbol", 16, "bold overstrike"), text="思妇高楼上,当窗应未眠。").pack()
Label(win, font=("细明体", 24, "bold italic underline"), text="星旗映疏勒,云阵 上祁连。").pack()
win.mainloop()

结果如图所示:

(8)foreground(fg) #

定义控件的前景(文字)颜色,颜色值可以是表中的名称,也可以是”#rrggbb”形式的数字。可以使用 foreground 或 fg。 下面的示例是定义一个文字颜色为红色的按钮,以及一个文字颜色为绿色的文字标签。

from tkinter import *

win = Tk()
Button(win, foreground="#ff0000", text="关闭", command=win.quit).pack()
Label(win, foreground="SystemHighlightText", text="海上生明月,天涯共止匕日寸。'情人 怨遥夜,竟夕起相思。").pack()
win.mainloop()

结果如图所示:

(9)height

如果是 Button、Label 或 Text 控件,此属性定义以字符数目为单位的高度。其他的控件则是定义以像素 pixel 为单位的高度。 下面的示例是定义一个字符高度为 5 的按钮:

from tkinter import *

win = Tk()
Button(win, height=5, text="关闭", command=win.quit).pack()
win.mainloop()

结果如图所示:

(10)highlightbackground #

定义控件在没有键盘焦点时,画 hightlight 区域的颜色。

(11)highlightcolor #

定义控件在有键盘焦点时,画 hightlight 区域的颜色。

(12)highlightthickness #

定义 hightlight 区域的宽度,以像素为单位。

(13)image #

定义显示在控件内的图片文件。

(14)justify #

定义多行文字标题的排列方式,此属性可以是 LEFT、CENTER 或 RIGHT。

(15)padx 与 pady #

定义控件内的文字或图片与控件边框之间的水平和垂直距离。下面的示例是定义按钮内文字与边框之间的水平距离为 20 像素,垂直距离为 40 像素。

from tkinter import *

win = Tk()
Button(win, padx=20, pady=40, text="关闭", command=win.quit).pack()
win.mainloop()

结果如图所示:

(16)relief #

定义控件的边框形式。所有的控件都有边框,不过有些控件的边框默认是不可见的。如果是 3D 形式的边框,那么此属性可以是 SUNKEN、RIDGE、RAISED 或 GROOVE;如果是 2D 形式的边框,那么此属性可以是 FLAT 或 SOLID。 下面的示例是定义一个平面的按钮。

from tkinter import *

win = Tk()
Button(win, relief=FLAT, text="关闭", command=win.quit).pack()
win.mainloop()

结果如图所示:

(17)text #

定义控件的标题文字。

(18)variable #

将控件的数值映像到一个变量。当控件的数值改变时,此变量也会跟着改变。同样地,当变量改变时,控件的数值也会跟着改变。此变量是 StringVar 类、IntVar 类、DoubleVar 类及 BooleanVar 的实例变量,这些实例变量可以分别使用 get() 与 set() 方法读取与设置变量。

(19)width #

如果是 Button、Label 或 Text 控件,此属性定义以字符数目为单位的宽度。其他控件则是定义以像素pixel为单位的宽度。

下面的示例是定义一个字符宽度为 16 的按钮:

from tkinter import *

win = Tk()
Button(win, width=16, text="关闭", command=win.quit).pack()
win.mainloop()

结果如图所示: