2024. 1. 2. 19:52
파이썬 GUI
728x90
반응형
여기서는 메인 윈도우에 메뉴바를 추가하고 메뉴 막대에 메뉴항목을 추가한다.
전체코드
import tkinter as tk
from tkinter import ttk # ttk를 임포트 함
from tkinter import scrolledtext
from tkinter import Menu
win = tk.Tk() # Tk 클래스의 인스턴스 생성
win.title("메뉴바 만들기") # 제목을 설정하기 위한 인스턴스 변수 사용
# 메뉴바 생성하기
menu_bar = Menu(win)
win.config(menu=menu_bar)
def _quit():
win.quit()
win.destroy()
exit()
# 메뉴를 생성하고 메뉴 아이템 추가하기
file_menu = Menu(menu_bar, tearoff=0)
file_menu.add_command(label="New")
file_menu.add_separator()
file_menu.add_command(label="Exit", command=_quit)
menu_bar.add_cascade(label="File", menu=file_menu)
help_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Help", menu=help_menu)
help_menu.add_command(label="About")
win.mainloop()
동작원리
먼저 tkinter에서 Menu 클래스를 임포트해야 한다.
from tkinter import Menu
다음 메뉴바를 만든다.
menu_bar = Menu(win)
Menu 모듈 클래스의 생성자를 호출하고 메인 GUI 인스턴스인 win을 전달한다. Menu 객체의 인스턴스를 menu_bar 변수에 저장한다.
win.config(menu=menu_bar)
다음 메뉴바에 메뉴 항목들을 배치한다. 여기서는 File에는 New, Exit를 나열하였고, Help메뉴에는 About항목을 나열하였다.
file_menu = Menu(menu_bar, tearoff=0)
file_menu.add_command(label="New")
file_menu.add_separator()
file_menu.add_command(label="Exit", command=_quit)
menu_bar.add_cascade(label="File", menu=file_menu)
help_menu = Menu(menu_bar, tearoff=0)
menu_bar.add_cascade(label="Help", menu=help_menu)
help_menu.add_command(label="About")
Exit 항목에 _quit 함수를 사용해 클릭시 창이 닫기게 한다.
def _quit():
win.quit()
win.destroy()
exit()
728x90
반응형
'파이썬 GUI' 카테고리의 다른 글
(파이썬 GUI) 캔버스 위젯 사용법 (0) | 2024.01.15 |
---|---|
(파이썬 GUI) GUI에 프로그레스바 추가하기 (0) | 2024.01.08 |
(파이썬 GUI) 정보, 경고, 에러 메시지박스 생성하기 (0) | 2024.01.03 |
(파이썬 GUI) 탭 위젯 만들기 (0) | 2024.01.02 |
(파이썬 GUI) GUI 폼에 라벨, 버튼, 텍스트박스, 콤보박스, 체크버튼, 라디오버튼, 스크롤되는 텍스트 위젯 생성하기 (0) | 2023.12.31 |