Python GUI设计:tkinter菜鸟编程
上QQ阅读APP看书,第一时间看更新

1-5 认识tkinter的Widget

1-5-1 tkinter的Widget

Widget可以翻译为控件组件部件。窗口建立完成后,下一步是在窗口内建立控件,我们将这些控件统称为Widget。

(1)Button(按钮):可参考第4章。

(2)Canvas(画布):可参考第19章。

(3)Checkbutton(多选按钮):可参考7-2节。

(4)Entry(文本框):可参考第5章。

(5)Frame(框架):可参考8-1节。

(6)Label(标签):可参考第2章。

(7)LabelFrame(标签框架):可参考8-2节。

(8)Listbox(列表框):可参考第12章。

(9)Menu(菜单):可参考第16章。

(10)MenuButton(菜单按钮):这个是过时的控件,已经被Menu( )取代。

(11)Message(消息):可参考10-1节。

(12)OptionMenu(下拉式菜单):可参考第13-1节。

(13)PanedWindow(面板):可参考第14-1节。

(14)Radiobutton(单选按钮):可参考7-1节。

(15)Scale(尺度):可参考9-1节。

(16)Scrollbar(滚动条):可参考12-8节。

(17)Spinbox(可微调输入控件):可参考9-2节。

(18)Text(文字区域):可参考第17章。

(19)Toplevel(上层窗口):可参考8-3节。

从第2章开始笔者会一个一个介绍上述控件,另外在各章节中会穿插介绍控件配置管理员(Widget Layout Manager)、图像(Image)、事件(Event)。最后需要读者了解的是,在tkinter中所有的Widget其实都是面向对象的,我们通过调用构造方法来达到建立相关Widget控件的目的。

1-5-2 加强版的tkinter模块

tkinter在后来也推出了加强版的模块,称为tkinter.ttk,有时简称ttk,这个模块中有17个Widget。下列是原本tkinter有的Widget。

(1)Button

(2)Checkbutton

(3)Entry

(4)Frame

(5)Label

(6)LabelFrame

(7)MenuButton

(8)Radiobutton

(9)Scale

(10)Scrollbar

(11)PanedWindow

下列是ttk模块新增的Widget。

(1)Combobox:可参考第13-2节。

(2)Notebook:可参考第14-2节。

(3)Progressbar:可参考第15章。

(4)Separator:可参考2-16节。

(5)Sizegrip:可以拖曳最上层窗口右下方更改最上层窗口的大小。

(6)Treeview:可参考第18章。

导入上述模块可以使用下列方式。

如果使用下列方式导入ttk,可以覆盖原先tkinter的控件。

使用ttk可以有更好的外观,而且也可以跨平台使用,不过并没有100%兼容。例如,fg、bg参数或一些外观相关的参数tk和ttk是不相同。ttk使用的是ttk.Style类别。