1、一个经典的面向程序写法模块
from tkinter import *
from tkinter.colorchooser import *
class Appication(Frame):
"""
一个经典的 GUI 类的写法
"""
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.CreateWidget()
def CreateWidget(self):
pass
if __name__ == "__main__":
window = Tk()
window.geometry("200x200+200+200")
app = Appication(master=window)
window.mainloop()
2、菜单模块
def CreateWidget(self):
self.mainmenu = Menu(window)
self.menuFile = Menu(self.mainmenu)
self.menuEdit = Menu(self.mainmenu)
self.menuHelp = Menu(self.mainmenu)
self.mainmenu.add_cascade(label="文件(F)", menu=self.menuFile)
self.mainmenu.add_cascade(label="编辑(E)", menu=self.menuEdit)
self.mainmenu.add_cascade(label="帮助(H)", menu=self.menuHelp)
self.menuFile.add_command(label="新建", accelerator="ctrl + n", command=self.test)
self.menuFile.add_command(label="打开", accelerator="ctrl + o", command=self.test)
self.menuFile.add_command(label="保存", accelerator="ctrl + s", command=self.test)
self.menuFile.add_separator()
self.menuFile.add_command(label="退出", accelerator="ctrl + q", command=self.test)
window["menu"] = self.mainmenu
self.textpad = Text(window, width=50, height=30)
self.textpad.pack()
self.contextMenu = Menu(window)
self.contextMenu.add_command(label="背景颜色", command=self.test)
window.bind("<Button-3>", self.createContextMenu)
3、菜单模块引用的函数
def createContextMenu(self, event):
self.contextMenu.post(event.x_root, event.y_root)
def test(self):
pass
4、源代码
from tkinter import *
from tkinter.colorchooser import *
class Appication(Frame):
"""
一个经典的 GUI 类的写法
"""
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.CreateWidget()
def CreateWidget(self):
self.mainmenu = Menu(window)
self.menuFile = Menu(self.mainmenu)
self.menuEdit = Menu(self.mainmenu)
self.menuHelp = Menu(self.mainmenu)
self.mainmenu.add_cascade(label="文件(F)", menu=self.menuFile)
self.mainmenu.add_cascade(label="编辑(E)", menu=self.menuEdit)
self.mainmenu.add_cascade(label="帮助(H)", menu=self.menuHelp)
self.menuFile.add_command(label="新建", accelerator="ctrl + n", command=self.test)
self.menuFile.add_command(label="打开", accelerator="ctrl + o", command=self.test)
self.menuFile.add_command(label="保存", accelerator="ctrl + s", command=self.test)
self.menuFile.add_separator()
self.menuFile.add_command(label="退出", accelerator="ctrl + q", command=self.test)
window["menu"] = self.mainmenu
self.textpad = Text(window, width=50, height=30)
self.textpad.pack()
self.contextMenu = Menu(window)
self.contextMenu.add_command(label="背景颜色", command=self.test)
window.bind("<Button-3>", self.createContextMenu)
def createContextMenu(self, event):
self.contextMenu.post(event.x_root, event.y_root)
def test(self):
pass
if __name__ == "__main__":
window = Tk()
window.geometry("200x200+200+200")
app = Appication(master=window)
window.mainloop()