python学习拾遗(六)——GUI界面制作(一)

tkinter组件

Tkinter组件

组件描述
Button按钮控件:在程序中显示按钮
Canvas画布控件:显示图形元素,如:线条或文本
Checkbutton多选框控件:用于在程序中提供多项选择框
Entry输入空间:用于显示简单的文本内容
Frame框架控件:可以显示文本和位图
Label标签控件:可以显示文本位图
Listbox列表框控件:Listbox窗口小部件,用来显示一个字符串列表给用户
Menubutton菜单按钮控件:用于显示菜单项
Menu菜单空间:显示菜单栏、下拉菜单和弹出菜单
Message消息控件:用来显示多行文本与Label比较类似
Radiobutton单选按钮控件:显示一个单选按钮的状态
Scale范围控件:显示一个数值刻度,为输出限定范围的数字区间
Scrollbar滚动条控件,当内容超过可视化区域时使用
Text文本空间,用于显示多行文本
Toplevel容器控件,用来提供一个单独的对话框,与Frame比较类似
Spinbox输入控件:与Entry类似,但是可以包含一个或者多个控件
PanelWindow窗口布局管理的插件:可以包含一个或者多个子控件
LabelFrame简单的答题控件:常用与复杂的窗口布局
tkMessageBox用于显示应用程序的消息框

标准属性

组件的标准属性就是所有组件的共同属性。

属性描述
dimension控件大小
color控件颜色
font控件字体
anchor锚点(内容停靠位置),对应于东南西北以及四个角
relief控件样式
bitmap位图
cursor光标
text显示文本内容
state设置组价状态,正常(normal)、激活(active)、禁用(disabled)

Label组件

label组件常用的属性

属性说明
width宽度
height高度
compound指定文本与图像如何在Label上显示,默认为None。当指定image/bitmap时,文本(text)将被覆盖,只显示图像。可以使用的值如下:left,图像居左;right,图像居右;top,图像居上;bottom,图像居下;center,文字覆盖于图像之上
wraplength指定多少单位后开始换行,用于多行显示文本
justify指定多行的对齐方式,可以使用的值为left(左对齐)或right(右对齐)
anchor指定文本或图像在label中的显示位置。对应于东南西北四个角,可用值如下:e,w,n,s,ne,se,sw,nw,center(默认值)
image和bm显示自定义图片,如:png,tif
bitmap显示内置的位图

Button组件

按钮可以包含文本或图像,可以通过command属性将调用的python函数或方法关联到按钮上。该按钮可以只显示一个单一字体的文本,但文本可能跨越一个以上的行。此外一个字符可以有下画线。
Tkinter Button组件属性

属性功能描述
text显示文本内容
command指定Button的时间处理函数
compound置顶文本与图像的位置关系
bitmap指定位图
focus_set设置当前组件得到的焦点
master代表父窗口
bg代表背景窗口
fg设置前景颜色
font设置字体
height设置显示高度,如果未设置此项,其大小以适应内容标签为宜
wraplength将此选项设置为所需的数量限制每行的字符数,默认为0
state设置组件状态:正常(normal),激活(active),禁用(disabled)
anchor设置Button文本在控件上的显示位置,可用值:n(north),s(south),w(west),e(east),ne,we,se,sw
textvariable设置Button可变的文本内容对应变量

Tkinter Button组件方法

方法描述
flash()按钮在active color and normal color颜色之间闪烁几次,disabled表示状态无效
invoke()调用按钮command指定的回调函数
def callback():
    showinfo("Python command", "人生苦短,我用Python")

root = Tk()
root.title("Button Test")
Button(root, text="外观装饰边界附近的标签", width=19, relief=GROOVE, bg="red").pack()
Button(root, text="设置按钮状态", width=21, state=DISABLED).pack()
Button(root, text="设置bitmap放到按钮左边位置", compound="left", bitmap="error").pack()
Button(root, text="设置command事件调用命令", fg="blue", bd=2, width=28, command=callback()).pack()
Button(root, text="设置高度及宽度以及文字显示位置", anchor='sw', width=30, height=2).pack()
root.mainloop()

单行文本框Entry和多行文本框Text

Entry主要用于输入单行内容和显示文本。

创建和显示Entry对象

创建Entry对象的基本方法如下:
Entry对象=Entry(windows窗口对象)

获取Entry组件的内容

其中get()方法用于获取单行文本框内输入的内容。

Entry的常用属性
属性用法
show如果设置为字符*,则输入文本框内显示为*,用于密码输入
insertbackground插入光标的颜色,默认为黑色
selectbackground和selectforeground选中文本的背景色与前景色
width组件的宽度(所占的字符数)
fg字体的前景颜色
bg背景颜色
state设置组件状态,默认为normal,可设置为disabled(禁用组件),readonly(只读)。

设置或者获取Entry组件内容也可以使用StringVar()对象来完成,把Entry的textvariable属性设置为StringVar()变量,再通过StringVar()变量的get()和set()函数可以读取和输出相应文本内容。

import tkinter as tk
root = tk.Tk()
s = tk.StringVar()
s.set('大家好,这是测试')
entryCd = tk.Entry(root, textvariable=s)
entryCd.pack()
print(s.get())
root.mainloop()
参考文献

夏敏捷等. python程序设计从基础开发到数据设计. 清华大学出版社,2019.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值