mirror of
https://github.com/3minbe/DBC_Converter.git
synced 2026-05-17 01:23:58 +09:00
[Code] 메뉴 구성 추가
This commit is contained in:
parent
3930d0a7c4
commit
b39f9bc6d4
@ -15,6 +15,51 @@ class MainView(tk.Tk):
|
||||
self.title("DBC to C Converter")
|
||||
self.geometry("800x600")
|
||||
|
||||
# 메뉴바 추가
|
||||
self.menu_bar = tk.Menu(self)
|
||||
self.config(menu=self.menu_bar)
|
||||
|
||||
file_menu = tk.Menu(self.menu_bar, tearoff=0)
|
||||
edit_menu = tk.Menu(self.menu_bar, tearoff=0)
|
||||
view_menu = tk.Menu(self.menu_bar, tearoff=0)
|
||||
tools_menu = tk.Menu(self.menu_bar, tearoff=0)
|
||||
|
||||
self.menu_bar.add_cascade(label="파일", menu=file_menu)
|
||||
self.menu_bar.add_cascade(label="편집", menu=edit_menu)
|
||||
self.menu_bar.add_cascade(label="보기", menu=view_menu)
|
||||
self.menu_bar.add_cascade(label="도구", menu=tools_menu)
|
||||
|
||||
# 파일 메뉴 항목 추가
|
||||
file_menu.add_command(label="파일 추가", command=self.FilesOpen)
|
||||
file_menu.add_command(label="선택 파일 삭제", command=self.deleteSelectedFiles)
|
||||
file_menu.add_command(label="모든 파일 삭제", command=self.deleteAllFiles)
|
||||
|
||||
# 편집 메뉴 항목 추가
|
||||
edit_menu.add_command(label="모두 선택", command=self.selectAllFiles)
|
||||
edit_menu.add_command(label="선택 반전", command=self.invertSelection)
|
||||
|
||||
# 보기 메뉴 항목 추가
|
||||
size_menu = tk.Menu(view_menu, tearoff=0)
|
||||
size_menu.add_command(label="작게", command=lambda: self.setWindowSize("small"))
|
||||
size_menu.add_command(label="보통", command=lambda: self.setWindowSize("medium"))
|
||||
size_menu.add_command(label="크게", command=lambda: self.setWindowSize("large"))
|
||||
size_menu.add_command(label="자동", command=lambda: self.setWindowSize("auto"))
|
||||
|
||||
sort_menu = tk.Menu(view_menu, tearoff=0)
|
||||
sort_menu.add_command(label="파일명 오름차순", command=lambda: self.sortTreeView('파일명', False))
|
||||
sort_menu.add_command(label="파일명 내림차순", command=lambda: self.sortTreeView('파일명', True))
|
||||
sort_menu.add_command(label="파일경로 오름차순", command=lambda: self.sortTreeView('파일경로', False))
|
||||
sort_menu.add_command(label="파일경로 내림차순", command=lambda: self.sortTreeView('파일경로', True))
|
||||
sort_menu.add_command(label="파일크기 오름차순", command=lambda: self.sortTreeView('파일크기', False))
|
||||
sort_menu.add_command(label="파일크기 내림차순", command=lambda: self.sortTreeView('파일크기', True))
|
||||
|
||||
view_menu.add_cascade(label="창크기", menu=size_menu)
|
||||
view_menu.add_cascade(label="정렬", menu=sort_menu)
|
||||
|
||||
# 도구 메뉴 항목 추가
|
||||
tools_menu.add_command(label="설정", command=self.openSettings)
|
||||
tools_menu.add_command(label="프로그램 정보", command=self.openAbout)
|
||||
|
||||
self.tree = ttk.Treeview(self, columns=('파일명', '파일경로', '파일크기'), show='headings')
|
||||
self.tree.heading('파일명', text='파일명', command=lambda: self.sortTreeView('파일명', False))
|
||||
self.tree.heading('파일경로', text='파일경로', command=lambda: self.sortTreeView('파일경로', False))
|
||||
@ -201,6 +246,51 @@ class MainView(tk.Tk):
|
||||
else:
|
||||
self.tree.heading(col_name, text=col_name, command=lambda _col=col_name: self.sortTreeView(_col, False))
|
||||
|
||||
def selectAllFiles(self):
|
||||
for item in self.tree.get_children():
|
||||
self.tree.selection_add(item)
|
||||
|
||||
def invertSelection(self):
|
||||
selected_items = set(self.tree.selection())
|
||||
all_items = set(self.tree.get_children())
|
||||
new_selection = all_items - selected_items
|
||||
self.tree.selection_set(new_selection)
|
||||
|
||||
def setWindowSize(self, size):
|
||||
if size == "small":
|
||||
self.geometry("600x400")
|
||||
elif size == "medium":
|
||||
self.geometry("800x600")
|
||||
elif size == "large":
|
||||
self.geometry("1000x800")
|
||||
elif size == "auto":
|
||||
self.geometry("")
|
||||
|
||||
def zoomIn(self):
|
||||
current_font_size = self.tree.cget("font").split()[1]
|
||||
new_font_size = int(current_font_size) + 2
|
||||
self.tree.config(font=("TkDefaultFont", new_font_size))
|
||||
|
||||
def zoomOut(self):
|
||||
current_font_size = self.tree.cget("font").split()[1]
|
||||
new_font_size = int(current_font_size) - 2
|
||||
self.tree.config(font=("TkDefaultFont", new_font_size))
|
||||
|
||||
def resetZoom(self):
|
||||
self.tree.config(font=("TkDefaultFont", 10))
|
||||
|
||||
def openSettings(self):
|
||||
settings_window = tk.Toplevel(self)
|
||||
settings_window.title("설정")
|
||||
settings_window.geometry("400x300")
|
||||
tk.Label(settings_window, text="설정 창입니다.").pack(pady=20)
|
||||
|
||||
def openAbout(self):
|
||||
about_window = tk.Toplevel(self)
|
||||
about_window.title("프로그램 정보")
|
||||
about_window.geometry("400x300")
|
||||
tk.Label(about_window, text="프로그램 정보 창입니다.").pack(pady=20)
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = MainView()
|
||||
app.mainloop()
|
||||
Loading…
Reference in New Issue
Block a user