Python tkinter
Ref: https://docs.python.org/3/library/tkinter.html
Widgets
tkinter.Buttontkinter.CheckButtontkinter.RadioButtontkinter.MenuButtontkinter.Menutkinter.Scaletkinter.Listboxtkinter.SpinBoxtkinter.Text: 텍스트 여러 줄 입/출력tkinter.Entry: 텍스트 한 줄 입/출력, e.g., 아이디, 암호tkinter.Label: 이미지, 텍스트 출력tkinter.Scrollbartkinter.Frametkinter.PannedWindowtkinter.TopLevel: 새 창
Layout
tkinter.widget.place: 절대 위치, grid나 pack과 함께 사용 가능tkinter.widget.pack: 상대 위치tkinter.widget.grid: 격자
bind
tkinter.widget.command: 버튼 등 일부 위젯에만 있음tkinter.widget.bind: 위젯에서 일어나는 특정 event에 맞춰 정해진 함수 실행
messagebox
import tkinter.messagebox
tkinter.messagebox.showinfotkinter.messagebox.showwarningtkinter.messagebox.showerrortkinter.messagebox.askquestiontkinter.messagebox.askokcanceltkinter.messagebox.askretrycanceltkinter.messagebox.askyesnotkinter.messagebox.askyesnocancel
Examples
Basic
import tkinter as tk
import logging
logging.basicConfig(
format="[%(levelname)-8s] %(lineno) 4d line : %(message)s",
level=logging.CRITICAL,
)
log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
class UiMainWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master=master)
self.pack()
def setup_ui(self):
self.master.title("Basic")
self.master.resizable(False, False)
"""
UI 설정
"""
class MainWindow(UiMainWindow):
def __init__(self, master=None):
super().__init__(master=master)
self.setup_ui()
"""
기능
bind, command
"""
if __name__ == "__main__":
app = tk.Tk()
main_window = MainWindow(app)
app.mainloop()