学习笔记
Chapter2 Layout Management
第一节:Arranging several labels within a label frame widget
把代码加进上一篇文章中的mainloop(事件循环)
labelsFrame=ttk.LabelFrame(win,text=' Labels in a Frame ')
创建一个LabelFrame部件,给这个部件命名
#2-#4句是将创建的label们放进labelframe
通过为行和列赋不同的值改变标签的展示方式(水平或垂直或其他)
nameEntered.focus()让光标在输入框中显示
第二节:Using padding to add space around widgets
接下来的代码是给部件之间加一些空间
部件之间有的呼吸的空间,呼~
代码说明:
grid_configure()函数让我们在主循环(mainloop)之外修改 UI元素
第三节:How widgets dynamically expand the GUI
调节column的值改变labelframe的位置
PS:
行和列怎么设置?索引都是从0开始
row0,col0:第0行第0列
row0,col1:第0行第1列
row1,col0:第1行第0列
第四节:Aligning the GUI widgets by embedding frames within frames
人话应该就是框中有框???
接下来创建一个中心ttk.LabelFrame,这个ttk.LabelFrame从属于主循环
其他的所有部件都从属于这个ttk.LabelFrame
用白话说就是创建了一个总的框将那些零零碎碎的部件打包在一起
但这个总的框从属于mainloop
所以这个从属于mainloop的总的框的名字是aLabel
注意:要将之前所有的部件的win改成monty
对齐的
sticky='W'的W表示west,向左,四个方位(west, east, north and south),
也可以用tk.W代替W
也可以用在循环之中:
winfo_children(),grid_configure(sticky='W')
winfo_children()返回一个列表:
注意:要将之前所有的部件的win改成monty
第五节:Creating menu bars
创建菜单栏
add_cascade()设置下拉菜单垂直排列
tearoff=0移除菜单中的虚线
编写一个退出函数
第六节:Creating tabbed widgets
重新创建一个模块
加入第二个tab
radCall()中定义了在tab2中点击不同颜色的radiobutton,框显示的名称对应其颜色
第七节Using the grid layout manager
tkinter会自动添加缺失的行,即使在我们没有意识到有缺失行的问题时.
以上为第二章的学习内容
领取 专属20元代金券
Get大咖技术交流圈