用Python就一定要用到界面操作,有一个好的用户界面,才会有好的用户体验,下边就开始创建我们的主窗口,并实现下拉和弹出式菜单!
案例
创建主窗口,并实现下拉和弹出式菜单
先上代码~
运行效果
题目详述
第一行:
import tkinter as tk
导入tkinter函数,方便后边调用
第二行:
window = tk.Tk()
实例化object,创建一个名为window的主窗体
第三行:
window.title('My Window')
设置主窗体的名字为'My Window'
第四行:
window.geometry('500x300')
设置主窗体的大小为'500x300'
第五行:
l = tk.Label(window, text=' ', bg='green')
l.pack()
在图形界面上创建一个标签用以显示内容并放置
第六行:
counter = 0
def do_job():
global counter
l.config(text='do ' + str(counter))
counter += 1
定义一个函数功能,用来代表菜单选项的功能,这里为了操作简单,定义的功能比较简单
第七行:
menubar = tk.Menu(window)
创建一个菜单栏,这里我们可以把它理解成一个容器,在窗口的上方
第八行:
filemenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='File', menu=filemenu)
filemenu.add_command(label='New', command=do_job)
filemenu.add_command(label='Open', command=do_job)
filemenu.add_command(label='Save', command=do_job)
创建一个File菜单项(默认不下拉,下拉内容包括New,Open,Save,Exit功能项)
第九行:
filemenu.add_separator()
添加一条分隔线
第十行:
filemenu.add_command(label='Exit', command=window.quit)
用tkinter里面自带的quit()函数
第十一行:
editmenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='Edit', menu=editmenu)
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)
创建一个Edit菜单项(默认不下拉,下拉内容包括Cut,Copy,Paste功能项)
第十二行:
submenu = tk.Menu(filemenu)
filemenu.add_cascade(label='Import', menu=submenu, underline=0)
submenu.add_command(label='Submenu_1', command=do_job)
创建第二级菜单,即菜单项里面的菜单
第十三行:
window.config(menu=menubar)
创建菜单栏完成后,配置让菜单栏menubar显示出来
第十四行:
window.mainloop()
注意,loop因为是循环的意思,window.mainloop就会让window不断的刷新,如果没有mainloop,就是一个静态的window,传入进去的值就不会有循环,mainloop就相当于一个很大的while循环,有个while,每点击一次就会更新一次,所以我们必须要有循环。所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。
进阶:
轻松的就完成了主窗体的创建和实现下拉和弹出式菜单是不是很便捷呢结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!