用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可以這麼神奇!
———— e n d ————
覺得文章不錯的,歡迎點在看和轉發