Chapter1 Creating the GUI Form and Adding Widgets
*import tkinter as tk
第一行导入模块,以tk作为其简称
我们创建了一个实例,将实例传给win这个变量
win.title('我的GUI')
这行的意思是给win这个实例一个名字
mainloop会运行事件的循环
防止GUI被调整大小
win.resizable(0,0)
ttk是一个tkinter的扩展,让GUI看起来更好
ttk是themed tk,意思应该就是有主题的GUI吧,我瞎翻译的
grid是一个布局管理,后面的章节会详细讨论
此时我们的GUI会看起来比前面的小,是因为我们在GUI中添加了widget(部件或组件whatever)
没有组件,GUI则按照默认的参数展示
Text box widgets
name=tk.StringVar()
这句话我们需要先声明变量的类型是tk.StringVar()
声明之后才能成功使用因为tkinter不是python语言
Setting the focus to a widget and disabling widgets
focus()
action.configure(state='disabled')
点我这个按钮被action.configure(state='disabled')搞得失去了功能
注释了这句之后是这个样子的:
一些解释:
解释里都是我看英文书的原文,理解肯定有不准确甚至错误的地方,
如果哪有问题,请麻烦指出来,谢谢.
chVarDis=tk.IntVar()
chVarUn=tk.IntVar()
chVarEn=tk.IntVar()
这三句是声明这单个变量是tkinter integer类型
tk.W的意思是与grid出来左边的内容保持一致
check1.select()
check2.deselect()
这两句话是控制
这两个的,一个打钩,一个不打勾
check1=tk.Checkbutton(win,text='Disabled',variable=chVarDis,state='disabled')
check1.select()
这两句这样写显示就是这样的:
打钩并停止使用
然后用grid将这三个checkbutton展示出来
书中说grid在第二章会解释,所以读到这儿我也不知道,这个grid的专业说法是什么,反正不管写了什么,都要 Layout
Using radio button widgets
创建3个tkinter Radiobutton widgets
运行之后就是这个样子的
color1="Blue"
color2='Yellow'
color3='Red'
这三个是我们创建的全局变量,颜色如果不是tkinter的颜色会出现错误
radCall()函数是定义背景颜色
radVar=tk.IntVar()这句是我们创建了一个type为tk.IntVar()的变量radVar,同一个变量被三个Radiobutton使用,所以只要选了其中一个Radiobutton,其他的两个则不会被选择,永远都是三选一的状态
上面的代码是本书第一次改变了widgets的颜色,本书中后面的部分都是为了使我们的GUI变得nicer and nicer
Using scrolled text widgets
这是我输入一堆文字之后的样式
引入了一个新的类:ScrolledText
scrolW=30,scrolH=30,定义了ScrolledText框的宽和高
wrap=tk.WORD这句的意思是:我们在告诉ScrolledText组件我觉得应该是断句时
根据词而不是在一个单词的内部,不太懂,默认的选项是tk.CHAR(也就是根据字符wrap)
columnspan=3,其实就是为了让ScrolledText看起来好看
未设置columnspan
设置columnspan=3
Adding several widgets in a loop
就是将一些组件放进一个循环,应该可以减少代码量,看起来简洁一些
陆续更新新章节的学习笔记
领取专属 10元无门槛券
私享最新 技术干货