파이썬 언어는 함수형 언어의 특성과 객체지향형 언어의 특성 모두를 지원하는 매력적인 프로그래밍 언어입니다.
Tkinter 기능을 익힘에 있어 순차적으로 코드를 작성하면서 필요시 함수를 호출하는 방식은 전혀 문제가 되는 접근은 아닐 것입니다. 그럼에도 불구하고 본 글들은 tkinter.Tk를 상속하는 클래스로부터 코드를 시작하고자 합니다. 아래의 코드는 Python 3.8.6 & PyCharm 환경 하에서 정상 실행됨을 확인하였습니다.
import tkinter as tk
class MainWin(tk.Tk):
def __init__(self, topic):
# super().__init__()
tk.Tk.__init__(self)
self.win_settings(topic)
self.tkinter_ttk_basics()
def win_settings(self, topic):
self.title(f'tkinter / {topic}') # my python is 3.8.6
self.geometry('480x320+200+200') # HVGA (Half Video Graphics Array) Size
self.minsize(200, 200)
def tkinter_ttk_basics(self):
pass
if __name__ == '__main__':
mainwin = MainWin('tkinter.Tk')
mainwin.mainloop()

1) tkinter.Tk 클래스를 상속하는 MainWin 클래스를 정의합니다.
2) tkinter.Tk의 생성자 호출(__init__ 메서드)을 위해 super().__init__()와 같이 작성해도 무방하나 명료화를 위해 아래와 같이 작성합니다.
tk.Tk.__init__(self)
3) 메서드 tkinter_ttk_basics 내에 tkinter 또는 ttk 모듈이 제공하는 기본 기능 이해를 위한 코드를 삽입합니다.
4) MainWin 클래스에 대한 객체 생성 시 문자열을 전달하여 윈도우 타이틀 바에 표시하게 합니다.
'코딩 > 파이썬 tkinter' 카테고리의 다른 글
| [Tkinter] 6장. Label (ttk) (0) | 2020.11.06 |
|---|---|
| [Tkinter] 5장. Label (0) | 2020.11.05 |
| [Tkinter] 3장. tkinter.Tk (0) | 2020.11.04 |
| [Tkinter] 2장. tkinter/ttk 구성 클래스 (0) | 2020.11.02 |
| [Tkinter] 1장. tkinter (0) | 2020.10.30 |