tkinter選單筆記 持續更新

2021-07-04 04:50:13 字數 2494 閱讀 7280

"""

選單樹(子選單作為子樹)

"""from tkinter import * #(python3 是thinter)

top=menu(win) #win->top-level window

win.config(menu=top) #set its menu option,menu and toplevel are interconnect

file=menu(top) #the first menu

file.add_command(label='new...',command=notdone,underline=0) #underline:選單呼叫的快捷鍵

file.add_command(label='open',command=notdone,underline=0)

file.add_command(label='quit',command=notdone,underline=0)

top.add_cascade(label='file',menu=file,underline=0) #序列新增選單

edit=menu(top,tearoff=false) #tearoff->虛分割線

edit.add_command(label='cut',command=notdone,underline=0)

edit.add_command(label='paste',command=notdone,underline=0)

edit.add_separator()

top.add_cascade(label='edit',menu=edit,underline=0) #序列新增選單

submenu=menu(edit,tearoff=true) #新增子選單

submenu.add_command(label='spam',command=win.quit,underline=0)

submenu.add_command(label='eggs',command=notdone,underline=0)

edit.add_cascade(label='stuff',menu=submenu,underline=0)

#與頂層視窗選單大同小異

menubar=frame(parent) #母元件

menubar.pack() #選單框架

"""每個選單都是乙個選單按鈕物件

"""fbutton=menubutton(menubar,text='file',underline=0)

fbutton.pack()

file=menu(fbutton)

file.add_command(label='new...',command=notdone,underline=0)

file.add_command(label='open...',command=notdone,underline=0)

file.add_command(label='quit..',command=notdone,underline=0)

fbutton.config(menu=file)

ebutton=menubutton(menubar,text='edit',underline=0)

ebutton.pack(side=left)

edit=menu(ebutton,tearoff=false)

edit.add_command(label='cut',command=notdone,underline=0)

edit.add_command(label='paste',command=notdone,underline=0)

edit.add_separator()

ebutton.config(menu=edit)

submenu=menu(edit,tearoff=true) #然而這裡依舊是頂層視窗的選單樹

submenu.add_command(label='cut',command=notdone,underline=0)

submenu.add_command(label='paste',command=notdone,underline=0)

edit.add_cascade(label='stuff',menu=submenu,underline=0)

因為是基於框架的,所以可以作為大型介面的內嵌部件

root=tk()

var=stringvar()

var.set('spam') #設定初始值

opt=optionmenu(root,var,'spam','eggs','toast')

opt.pack(fill=x)

#通過var.get()獲取初值

筆記 持續更新

資料結構 棧 佇列 鍊錶 陣列 雜湊表 堆 二分查詢樹 棧 先進後出 佇列 先進先出 鍊錶 新增和刪除方便,訪問比較費時間 陣列 訪問比較方便,刪除和新增比較費時間 雜湊表 由key和value組成資料 堆 一種圖的樹形結構,被用於優先佇列,可以自由新增資料,但取出資料時要從最小值開按順序取出 二分...

日常筆記(持續更新)

1.su認證失敗 2.ubuntu中vim下按上下左右鍵時輸入a b c d 這是因為ubuntu系統自帶的 vi 不完整,安裝完整的vi即可 sudo apt get install vim gtk 3.e 無法獲得鎖 var lib dpkg lock open 11 資源暫時不可用 e 無法鎖...

Vue筆記,持續更新

在mounted函式裡,通過this.ref和document.queryselector都訪問不了dom vue文件裡關於ref的觸發時機說明 cn.vuejs.org v2 api inde 關於 ref 註冊時間的重要說明 因為 ref 本身是作為渲染結果被建立的,在初始渲染的時候你不能訪問它...