- Tkinter GUI Application Development Blueprints
- Bhaskar Chaudhary
- 307字
- 2021-07-30 10:10:39
Implementing the View menu
Tkinter offers the following three varieties of menu items:
- Checkbutton menu items: These let you make a yes/no choice by checking/unchecking the menu item
- Radiobutton menu items: These let you choose an option from many different options
- Cascade menu items: These menu items only opens up to show another list of choices
The following View menu shows all of these three types of menu items in action:

The first three menu items in the View menu let users make a definite yes or no choice by checking or unchecking them. These are examples of the Checkbutton menu.
The Themes menu item in the preceding screenshot is an example of a Cascade menu. Hovering over this cascade menu simply opens another list of menu items. However, we can also bind a menu item by using the postcommand=callback
option. This can be used to manage something just before bringing up the cascading menu item's contents and is often used for dynamic list creation.
Within the cascade menu, you are presented with a list of choices for your editor's theme. However, you can only select one theme. Selecting one theme unselects the previous selection, if any exists. This is an example of the Radiobutton menu.
We will not present the entire code here (refer to the 2.03.py
code in the code bundle). However, the example code used to add these three types of menu items is as follows:
view_menu.add_checkbutton(label="Show Line Number", variable=show_line_no) view_menu.add_cascade(label="Themes", menu=themes_menu) themes_menu.add_radiobutton(label="Default", variable=theme_name)
Now, we need to track whether a selection has been made by adding a variable, which can be BooleanVar()
, IntVar()
, or Stringvar()
, as discussed in Chapter 1, Meet Tkinter.
This concludes our first iteration. In this iteration, we laid down the majorities of the visual elements of the text editor. Now, it's time to add some functionality to the editor.
- LabVIEW2018中文版 虛擬儀器程序設計自學手冊
- 小程序實戰視頻課:微信小程序開發全案精講
- Clojure for Domain:specific Languages
- Android Native Development Kit Cookbook
- Symfony2 Essentials
- 程序設計基礎教程:C語言
- Mastering Business Intelligence with MicroStrategy
- C++反匯編與逆向分析技術揭秘(第2版)
- Bootstrap for Rails
- C++ Application Development with Code:Blocks
- HTML+CSS+JavaScript網頁制作:從入門到精通(第4版)
- UI設計基礎培訓教程(全彩版)
- Learning C++ by Creating Games with UE4
- 面向對象程序設計及C++(第3版)
- SQL Server on Linux