持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
准备工作
我今天用的是windows(用Mac出了点问题)。组件库依旧用到昨天的tkinter和类。
代码展示
from tkinter import *
import tkinter.filedialog
import tkinter.colorchooser
class myWindow:
def __init__(self):
self.root = Tk()
self.root.title("新建窗体实验")
self.root.geometry("320x240")
self.root.resizable(False,False)
lb1 = Label(self.root,text='主窗体',font=('黑体',32,'bold'))
lb1.place(relx=0.2,rely=0.2)
mainmenu = Menu(self.root)
menuFile = Menu(mainmenu)
mainmenu.add_cascade(label='菜单',menu=menuFile)
menuFile.add_command(label='新窗体',command=self.newWindow)
menuFile.add_separator()
menuFile.add_command(label='文件选择',command=self.filedialog)
menuFile.add_separator()
menuFile.add_command(label='颜色选择',command=self.colordialog)
menuFile.add_separator()
menuFile.add_command(label='退出',command=self.root.destroy)
self.root.config(menu=mainmenu)
def newWindow(self):
winNew = Toplevel(self.root)
winNew.geometry('320x240')
winNew.title('新窗体')
lb2 = Label(winNew, text='我在新窗体上')
lb2.place(relx=0.2, rely=0.2)
btClose = Button(winNew, text='关闭', command=winNew.destroy)
btClose.place(relx=0.7, rely=0.5)
def filedialog(self):
tkinter.filedialog.askopenfilename()
def colordialog(self):
tkinter.colorchooser.askcolor()
if __name__ == '__main__':
test = myWindow()
结果展示
主页面
菜单
新窗体
文件选择
颜色选择
浅分析一下
导入组件库
from tkinter import *
import tkinter.filedialog
import tkinter.colorchooser
导入tkinter组件的全部组件,引用文件选择(filedialog )选择文件对话框的格式和颜色选择( colorchooser)颜色对话框。
创建主窗体
def __init__(self):
self.root = Tk()
self.root.title("新建窗体实验")
self.root.geometry("320x240")
self.root.resizable(False,False)
lb1 = Label(self.root,text='主窗体',font=('黑体',32,'bold'))
lb1.place(relx=0.2,rely=0.2)
mainmenu = Menu(self.root)
menuFile = Menu(mainmenu)
mainmenu.add_cascade(label='菜单',menu=menuFile) #增加多级下拉菜单
menuFile.add_command(label='新窗体',command=self.newWindow)
menuFile.add_separator()
menuFile.add_command(label='文件选择',command=self.filedialog)
menuFile.add_separator()
menuFile.add_command(label='颜色选择',command=self.colordialog)
menuFile.add_separator()
menuFile.add_command(label='退出',command=self.root.destroy)
self.root.config(menu=mainmenu)
- 创建窗体 给窗体命名为“新建窗体实验”,设置窗口为320x240的大小,限制它不能缩放。在窗体中间设置标签,标签内容为“主窗体”,字体为“黑体”,字号为“32”,加粗。设置该标签在距窗体左上角位置边框的0.2处(我这样说可能有点懵),画图展示一下。
- 创建菜单
add_cascade表示创建多级菜单,menu表示创建下拉菜单。因为菜单目前是空的,所以我们要添加数据。
add_command添加命令,创建标签并命令它执行对应的函数或命令。 add_separator()表示分割线。重复几次操作,config将菜单配置上去,菜单就叫建成了。
新建窗体
def newWindow(self):
winNew = Toplevel(self.root)
winNew.geometry('320x240')
winNew.title('新窗体')
lb2 = Label(winNew, text='我在新窗体上')
lb2.place(relx=0.2, rely=0.2)
btClose = Button(winNew, text='关闭', command=winNew.destroy)
btClose.place(relx=0.7, rely=0.5)
和创建主窗体一样,需要定义窗体的大小和名称,设置'我在新窗体上'这个标签的位置,设置'关闭'这个标签的位置且执行关闭新窗口的命令。
引入文件选择和颜色选择
def filedialog(self):
tkinter.filedialog.askopenfilename()
def colordialog(self):
tkinter.colorchooser.askcolor()
前方按钮连接到此处函数体,使其可以选择电脑的文件和颜色选择页面。这两个是电脑自身的,函数处引用即可。
疑惑
因为我一直用的是Mac,但是我按照这个办法以用Mac是不好用的。目前没有找到,等我研究明白后分分享给大家。