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类别。