跳过正文

GUI

13、标准对话框
·1143 字·3 分钟· loading · loading
Python GUI Tkinter
Tkinter 为了提供了三种标准对话框模块,它们分别是: messagebox filedialog colorchooser messagebox(消息对话框) # from logging import root import tkinter as tk from tkinter import messagebox root = tk.Tk() label = tk.Label(root) label.pack() def open_message(): label['text'] = messagebox.askokcancel("Python Demo", "发射核弹?") tk.Button(root,text='open_message',command=open_message).pack() root.mainloop()
12、Frame
·785 字·2 分钟· loading · loading
Python GUI Tkinter
Frame(框架)组件是在屏幕上的一个矩形区域。Frame 主要是作为其他组件的框架基础,或为其他组件提供间距填充。
11、布局layout
·1189 字·3 分钟· loading · loading
Python GUI Tkinter
对于任何⼀⻔图形界⾯编程来说,布局都是⾮常重要的⼀关,它的英⽂翻译叫做“layout”。不管是MFC、Java、还是Qt等图形界⾯编程, 都会有有布局的相关知识。 Python 的 Tkinter 也⼀样。
10、滚动条Scrollbar
·1551 字·4 分钟· loading · loading
Python GUI Tkinter
Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。
9、列表框Listbox
·233 字·1 分钟· loading · loading
Python GUI Tkinter
Listbox(列表框)组件用于显示一个选择列表。Listbox 只能包含文本项目,并且所有的项目都需要使用相同的字体和颜色。根据组件的配置,用户可以从列表中选择一个或多个选项。
8、图片
·120 字·1 分钟· loading · loading
Python GUI Tkinter
本来 Tkinter 是有自己的图片对象PhotoImage的,但是这个对象只能解析 gif 图片,所以我们使用 PIL 库进行处理,它可以生成 Tkinter 的PhotoImage
7、文本Text
·6851 字·14 分钟· loading · loading
Python GUI Tkinter
Text 组件用于显示文本文档,包含纯文本或格式化文本(使用不同字体,嵌入图片,显示链接,甚至是带 CSS 格式的 HTML 等)。因此,它常常也被用于作为简单的文本编辑器和网页浏览器使用。
6、复选、单选框
·36 字·1 分钟· loading · loading
Python GUI Tkinter
复选和单选的用法一样,和Button类似 import tkinter as tk root = tk.Tk() cb1 = tk.Checkbutton(root,text='Java') cb2 = tk.Checkbutton(root,text='Python') cb1.pack() cb2.pack() root.mainloop()
5、菜单Menu
·685 字·2 分钟· loading · loading
Python GUI Tkinter
菜单的信息量是⾮常⼤的,给用户提供导航使用,由于菜单⼜可以有⼦菜单,因此菜单的信息量⾮常⼤。菜单的分类也较多,通常可以分为下拉菜单、弹出菜单等等。
4、输入框Entry
·2930 字·6 分钟· loading · loading
Python GUI Tkinter
获取用户输入信息 from pydoc import text import tkinter as tk root = tk.Tk() # 创建 username 的标签和输入框,并配置布局 u_lable = tk.Label(root,text="用户名:") u_lable.grid(row=0, column=0, sticky= tk.W) u_entry = tk.Entry(root) u_entry.grid(row = 0, column = 1, sticky = tk.E) # 创建 password 的标签和输入框,并配置布局 p_lable = tk.Label(root,text="密码:") p_lable.grid(row=1,column=0,sticky= tk.W) p_entry = tk.Entry(root) p_entry.grid(row = 1, column = 1, sticky = tk.E) p_entry['show'] = '*' # 密码输入框,所以将所有的输入内容显示为星号 # 登录方法 def login(): username = u_entry.get() password = p_entry.get() print(f'username:{username},password:{password}') # 创建登录按钮 login_btn = tk.Button(root,text='登录',command=login) login_btn.grid(row=2) root.mainloop() 属性 # 选项 含义 background 1. 设置 Entry 的背景颜色 ;2. 默认值由系统指定 bg 跟 background 一样 borderwidth 1. 设置 Entry 的边框宽度 ;2. 默认值是 1 或 2 像素 bd 跟 borderwidth 一样 cursor 1. 指定当鼠标在 Entry 上飘过的时候的鼠标样式 ;2. 默认值由系统指定 exportselection 1. 指定选中的文本是否可以被复制到剪贴板 ;2. 默认值是 True ;3. 可以修改为 False 表示不允许复制文本 font 1. 指定 Entry 中文本的字体 ;2. 默认值由系统指定 foreground 1. 设置 Entry 的文本颜色; 2. 默认值由系统指定 fg 跟 foreground 一样 highlightbackground 1. 指定当 Entry 没有获得焦点的时候高亮边框的颜色 ;2. 默认值由系统指定 highlightcolor 1. 指定当 Entry 获得焦点的时候高亮边框的颜色 ;2. 默认值由系统指定 highlightthickness 1. 指定高亮边框的宽度 ;2. 默认值是 1 或 2 像素 insertbackground 指定输入光标的颜色 insertborderwidth 1. 指定输入光标的边框宽度; 2. 如果被设置为非 0 值,光标样式会被设置为 RAISED ;3.将 insertwidth 设置大一点才能看到效果哦 insertofftime 1. 该选项控制光标的闪烁频率(灭) ;2. 单位是毫秒 insertontime 1. 该选项控制光标的闪烁频率(亮) ;2. 单位是毫秒 insertwidth 1. 指定光标的宽度 ;2. 默认值是 1 或 2 像素 invalidcommand 1. 指定当输入框输入的内容“非法”时调用的函数 ;2. 也就是指定当 validateCommand 选项指定的函数返回 False 时的函数 ;3. 详见本内容最下方小甲鱼关于验证详解 invcmd 跟 invalidcommand 一样 justify 1. 定义如何对齐输入框中的文本 ;2. 使用 “left”,“right” 或 “center” ;3. 默认值是 “left” relief 1. 指定边框样式 ;2. 默认值是 “sunken” ;3. 其他可以选择的值是 “flat”,“raised”,“groove” 和 “ridge” selectbackground 1. 指定输入框的文本被选中时的背景颜色 ;2. 默认值由系统指定 selectborderwidth 1. 指定输入框的文本被选中时的边框宽度(选中边框) ;2. 默认值由系统指定 selectforeground 1. 指定输入框的文本被选中时的字体颜色 ;2. 默认值由系统指定 show 1. 设置输入框如何显示文本的内容; 2. 如果该值非空,则输入框会显示指定字符串代替真正的内容 ;3. 将该选项设置为 “*",则是密码输入框 state 1. Entry 组件可以设置的状态:“normal”,“disabled” 或 “readonly”(注意,它跟 “disabled” 相似,但它支持选中和拷贝,只是不能修改,而 “disabled” 是完全禁止) ;2. 默认值是 “normal” ;3.注意,如果此选项设置为 “disabled” 或 “readonly”,那么调用 insert() 和 delete() 方法都会被忽略 takefocus 1. 指定使用 Tab 键可以将焦点移动到输入框中 ;2. 默认是开启的,可以将该选项设置为 False 避免焦点在此输入框中 extvariable 1. 指定一个与输入框的内容相关联的 Tkinter 变量(通常是 StringVar) ;2. 当输入框的内容发生改变时,该变量的值也会相应发生改变 validate 1. 该选项设置是否启用内容验证 validatecommand 1. 该选项指定一个验证函数,用于验证输入框内容是否合法 ;2. 验证函数需要返回 True 或 False 表示验证结果 3. 注意,该选项只有当 validate 的值非 “none” 时才有效 vcmd 跟 validatecommand 一样 width 1. 设置输入框的宽度,以字符为单位 ;2. 默认值是 20 ;3. 对于变宽字体来说,组件的实际宽度等于字体的平均宽度乘以 width 选项的值 xscrollcommand 1. 与 scrollbar(滚动条)组件相关联 ;2. 如果你觉得用户输入的内容会超过该组件的输入框宽度,那么可以考虑设置该选项 方法 # delete(first, last=None)