内容正文:
常用控件的公共属性
仅有窗口并不能实现交互,还需要控件,Tkinter 提供了各种控件,如按钮、标签和文本框。在一个 GUI 应用程序中使用,这些控件通常被称为控件或者部件或者组件,以下表格中是对口高考要求掌握的窗口控件:
核心窗口部件
Label
标签控件;显示一个文本或图象。
Button
命令按钮控件;在程序中显示按钮,可以用来执行一个命令。
Entry
单行输入框控件;用于显示简单的文本内容
Radiobutton
单选按钮控件;显示一个单选的按钮状态
Checkbutton
多选框控件;用于在程序中提供多项选择框
Text
多行文本控件
Listbox
列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Message
消息控件;用来显示多行文本,与label比较类似
4.1 组件的公共属性
虽然Tkinter 模块提供了众多组件且每个组件都有各自的属性,但有些属性是各组件通用的。下表列出了各组件的公共属性及其含义。
各组件的公用的相关属性及其含义
属性
含义
foreground或fg
设置组件中文字的颜色
background或bg
设置组件的背景颜色
width
设置组件的宽度
height
设置组件的高度
anchor[ˈæŋkə(r)]
文字在组件内输出的位置,默认为center(水平、垂直方向都居中)
padx
组件的水平间距
pady
组件的垂直间距
font
组件的文字的样式
relief[rɪˈliːf]
组件的边框样式
cursor[ˈkɜːsə(r)]
鼠标悬停在组件上时的样式
· foreground(fg)和background(bg)设置组建的前景颜色(文字颜色)和背景颜色
这两个属性分别用于添加前景颜色和背景颜色,其属性值可以是表示颜色的英文单词,也可以用十六进制的颜色值。例如下面代码将Label组件的颜色设置为红色,背景为蓝色(背景色十六进制的“#C3DEEF”)。
颜色码对照表
形象描述
英文代码
十六进制
紫色
Purple
#800080
纯蓝
Blue
#0000FF
纯绿
Green
#008000
纯黄
Yellow
#FFFF00
金
Gold
#FFD700
橙色
Orange
#FFA500
纯红
Red
#FF0000
纯白
White
#FFFFFF
灰色
Gray
#808080
纯黑
Black
#000000
实例4.2.1 fg前景色;bg背景色
import tkinter as tk
win = tk.Tk() #初始化Tk()
win.geometry('300x200')
#以下两行代码效果一样
#tk.Label(win,text='我爱编程',foreground='red',background='#C3DEEF').pack()
tk.Label(win,text='我爱编程',fg='red',bg='#C3DEEF').pack()
win.mainloop()
运行结果:
实例4.2.2 组件的width(宽度)和height(高度)
import tkinter as tk
win = tk.Tk() #初始化Tk()
win.geometry('300x200')
tk.Label(win,text='我爱编程',fg='red',bg='#C3DEEF',width=20,height=3).pack()
win.mainloop()
实例4.2.3 anchor[ˈæŋkə(r)] 设置文字在组件内的位置
当组件的空间足够时,默认情况下,文字在组件中居中显示,如果我们希望文字显示在别的位置时,需要使用anchor属性。具体的属性值及其设置的文字位置如下图:
例如将文字设置在组件的左上角。将实例4.2.2中的第4行代码修改如下即可:
tk.Label(win,text='我爱编程',fg='red',bg='#C3DEEF',width=20,height=3,anchor='nw').pack()
运行效果如下:
注意:anchor的值也可以使用tkinter里的常量,
如anchor='nw'可以改为anchor=tk.NW
实例4.2.4 padx和pady设置组件的间距
padx和pady用于设置文字距离组件边缘的间距。通常如果没有为组件设置大小和设置间距,组件的大小应该是适应内容;如果设置了间距,那么无论标签的内容多少,里面的内容始终能够与标签边缘保持距离。将实例4.2.2中的第4行代码修改如下:
tk.Label(win,text='我爱编程