# tkinter_is_good
**Repository Path**: AliFazeli/tkinter_is_good
## Basic Information
- **Project Name**: tkinter_is_good
- **Description**: twiddle with tkinter in python 3
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2021-07-10
- **Last Updated**: 2023-12-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# tkinter_is_good
this is a simple python repository, playing with tkinter features.
## first_things_first
in this section we've got some basic widgets like buttons and text entry stuff and how to add them to the screen.
## second_things_second
main discuss here is layout management. how to dynamically manage the GUI elements.
1. "arranging_labels.py" is for showing the possibility of separating things with a certain frame seperator.
2. "padding_around_widgets.py" is for learning how to create padding for GUI elements
3. "menu_bar.py" is for getting to know with menu_bar and design an exit method.
4. "tabbed_widget.py" is for showing that we can introduce our stuff in multiple tabs!
## third_things_come_next
purpose in this section is displaying an information box which called message box.
then, introducing the Spinbox function. and after that I rather preferred to design a ToolTip function by myself.
## fourth_things_technically
how to deal with tkinter in Object Oriented Programming manner or (OOP) to observe the "DRY" principle.
**(AKA Don't Repeat Yourself)**
I create a "OOP.py" that has been modified in the way of changing self attributes and refactoring some other stuff that related to the Objects. then add "OOP_tool_tip.py" that implements the ToolTip function in OOP style and finally use it in the main "OOP.py" module.
## fifth_things_get_serious
in this section first I create thread for our GUI to separate main process of our application from the GUI stuff to achieve better performance and dynamics.