1、tkinter常用15个控件 #
控件名称 | 说明 |
---|---|
Button | 按钮控件,在程序中显示按钮 |
Canvas | 画布控件,用来画图形,如线条及多边形等 |
Checkbutton | 多选框控件,用于在程序中提供多项选择框 |
Entry | 输入控件,定义-一个简单的文字输入字段 |
Frame | 框架控件,定义一个窗体,以作为其他控件的容器 |
Label | 标签控件,定义一个文字或图片标签 |
Listbox | 列表框控件,定义一个下拉方块 |
Menu | 菜单控件,定义一个菜单栏、下拉菜单和弹出菜单 |
Menubutton | 菜单按钮控件,用于显示菜单项 |
Message | 消息控件,定义一个对话框 |
Radiobutton | 单选按钮控件,定义一个单选按钮 |
Scale | 范围控件,定义一个滑动条,以帮助用户设置数值 |
Scrollbar | 滚动条控件,定义-一个滚动条 |
Text | Text 文本控件,定义一个文本框 |
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()
结果如图所示: