- Tkinter GUI Application Development Blueprints(Second Edition)
- Bhaskar Chaudhary
- 226字
- 2021-06-24 18:35:11
Adding themes
You may recall that, while defining the Themes menu, we defined a color scheme dictionary containing the name and hexadecimal color codes as a key-value pair, as follows:
color_schemes = {
'Default': '#000000.#FFFFFF',
'Greygarious':'#83406A.#D1D4D1',
'Aquamarine': '#5B8340.#D1E7E0',
'Bold Beige': '#4B4620.#FFF0E1',
'Cobalt Blue':'#ffffBB.#3333aa',
'Olive Green': '#D1E7E0.#5B8340',
'Night Mode': '#FFFFFF.#000000',
}
The theme choice menu has already been defined. Let's add a callback command to handle the selected menu (2.12.py):
themes_menu.add_radiobutton(label=k, variable=theme_choice, command=change_theme).
Finally, let's define the change_theme function to handle the changing of themes, as follows:
def change_theme(event=None):
selected_theme = theme_choice.get()
fg_bg_colors = color_schemes.get(selected_theme)
foreground_color, background_color = fg_bg_colors.split('.')
content_text.config(background=background_color, fg=foreground_color)
The function is simple. It picks up the key-value pair from the defined color scheme dictionary. It splits the color into its two components and applies one color each to the Text widget foreground and background using widget.config().
Now, if you select a different color from the Themes menu, the background and foreground colors change accordingly.
This completes the iteration. We completed coding the shortcut icon toolbar and the functionality of the View menu in this iteration. In the process, we learned how to handle the Checkbutton and Radiobutton menu items. We also had a look at how to create compound buttons while reinforcing several Tkinter options that were covered in the previous sections.
- Progressive Web Apps with React
- C語言程序設計案例教程(第2版)
- 我的第一本算法書
- Hands-On RESTful Web Services with Go
- 數(shù)據(jù)結構(C語言)
- Scala編程實戰(zhàn)(原書第2版)
- Java:High-Performance Apps with Java 9
- C#應用程序設計教程
- Learning Concurrent Programming in Scala
- 劍指大數(shù)據(jù):企業(yè)級數(shù)據(jù)倉庫項目實戰(zhàn)(在線教育版)
- Create React App 2 Quick Start Guide
- Mobile Device Exploitation Cookbook
- 軟件工程基礎與實訓教程
- Mockito Essentials
- Visual Basic 程序設計實踐教程