首页
学习
活动
专区
工具
TVP
发布

Python GUI Programming Cookbook 学习笔记

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

就是将一些组件放进一个循环,应该可以减少代码量,看起来简洁一些

陆续更新新章节的学习笔记

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181025G21IA300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券