Python GUI之tkinter窗口视窗
tkinter是什么
- Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
Label标签
- 创建好主窗口才能在上面放置各种控件元素
tk.Lable(window,text="文本内容",bg='背景颜色',font=('字体family',字体大小)),width=标签宽度,height=标签高度 以字符的大小为单位
window.title('窗口名称')
- window.geometry(‘窗口的大小’)
- 放置标签x.pack()或者x.place()
参考代码
1 | #!/usr/bin/env python |
Button窗口部件
- 定义一个函数功能(内容自己自由编写),供点击Button按键时调用,调用命令参数command=函数名
查看答案
1 |
|
Entry窗口部件
- Entry是tkinter类中提供的的一个单行文本输入域,用来输入显示一行文本,收集键盘输入(类似 HTML 中的 text)
查看答案
1 | e1 = tk.Entry(window, show='*', font=('Arial', 14)) # 显示成密文形式 |
Text窗口部件
- Text是tkinter类中提供的的一个多行文本区域,显示多行文本,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea),格式化文本显示,允许你用不同的样式和属性来显示和编辑文本,同时支持内嵌图象和窗口。
- insert 在焦点处插入 ,end 在文本末尾插入数据
查看答案
1 | #!/usr/bin/env python |
Listbox窗口部件
- Text是tkinter类中提供的的列表框部件,显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。
- lb.get(lb.curselection()) 获取列表选中文本的值
- 可以使用insert将值遍历到listbox中
查看答案
1 | #!/usr/bin/env python |
Radiobutton窗口部件
- 代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。类似于单选
- tk.Radiobutton(window, text=’Option A’, variable=var, value=’A’, command=print_selection)
查看答案
1 | #!/usr/bin/env python |
Checkbutton窗口部件
- 代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换,选择和取消选择。
l.config
将值显示在标签上
查看答案
1 | #!/usr/bin/env python |
Scale窗口部件
- 尺度(拉动条),允许你通过滑块来设置一数字值。
查看答案
1 | #!/usr/bin/env python |
Canvas窗口部件
- 画布,提供绘图功能(直线、椭圆、多边形、矩形) 可以包含图形或位图,用来绘制图表和图,创建图形编辑器,实现定制窗口部件。
查看答案
1 | #!/usr/bin/env python |
Menu窗口部件
查看答案
1 | #!/usr/bin/env python |
Frame 窗口部件
- 框架,用来承载放置其他GUI元素,就是一个容器,是一个在 Windows 上分离小区域的部件, 它能将 Windows 分成不同的区,然后存放不同的其他部件. 同时一个 Frame 上也能再分成两个 Frame, Frame 可以认为是一种容器.
查看答案
1 | #!/usr/bin/env python |
messageBox窗口部件
- 类似于弹窗的操作
1
2
3
4
5
6tkinter.messagebox.showinfo(title='Hi', message='你好!') # 提示信息对话窗
tkinter.messagebox.showwarning(title='Hi', message='有警告!') # 提出警告对话窗
tkinter.messagebox.showerror(title='Hi', message='出错了!') # 提出错误对话窗
print(tkinter.messagebox.askquestion(title='Hi', message='你好!')) # 询问选择对话窗return 'yes', 'no'
print(tkinter.messagebox.askyesno(title='Hi', message='你好!')) # return 'True', 'False'
print(tkinter.messagebox.askokcancel(title='Hi', message='你好!')) # return 'True', 'False'查看答案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author:洪卫
import tkinter as tk # 使用Tkinter前需要先导入
import tkinter.messagebox # 要使用messagebox先要导入模块
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title('My Window')
# 第3步,设定窗口的大小(长 * 宽)
window.geometry('500x300') # 这里的乘是小x
# 第5步,定义触发函数功能
def hit_me():
tkinter.messagebox.showinfo(title='Hi', message='你好!') # 提示信息对话窗
tkinter.messagebox.showwarning(title='Hi', message='有警告!') # 提出警告对话窗
tkinter.messagebox.showerror(title='Hi', message='出错了!') # 提出错误对话窗
print(tkinter.messagebox.askquestion(title='Hi', message='你好!')) # 询问选择对话窗return 'yes', 'no'
print(tkinter.messagebox.askyesno(title='Hi', message='你好!')) # return 'True', 'False'
print(tkinter.messagebox.askokcancel(title='Hi', message='你好!')) # return 'True', 'False'
# 第4步,在图形界面上创建一个标签用以显示内容并放置
tk.Button(window, text='hit me', bg='green', font=('Arial', 14), command=hit_me).pack()
# 第6步,主窗口循环显示
window.mainloop()
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Harry の 心 阁!
评论