這篇文章主要介紹“Tkinter分欄窗口控件PanedWindow怎么用”,在日常操作中,相信很多人在Tkinter分欄窗口控件PanedWindow怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Tkinter分欄窗口控件PanedWindow怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
簡單的對話框級別的布局一旦決定就不會再調整。但是對于類似IDE開發環境等更大的畫面,可能需要動態調整功能分區的大小,這時就需要分欄窗口控件PanedWindow。
這個控件的構建非常簡單。代碼中設定background屬性并不是必須,只是為了表示控件的范圍。
paned_window = PanedWindow(root, background="#a0ffa0")
構建左側的Lisbox分區并設定其動作,這部分代碼來自之前的示例。最后一行將Listbox添加到PanedWindow上。
# create fontftiTimes = Font(family='Times', size=24, weight=BOLD)# create a listbox for demo.lb = Listbox(paned_window,activestyle='dotbox',bg="#ffffa0",fg="#ff0000",disabledforeground="#3f3f3f",highlightbackground="#0000ff",font=ftiTimes,height=10, width=20)# add itemsfor i in range(0,20):lb.insert(END, str(i))# bind eventlb.bind('<<ListboxSelect>>',lambda e: label.config(text=str(lb.curselection())))paned_window.add(lb)
構建一個包含一個Text控件和橫豎兩個滾動條的Frame控件并添加到PanedWindow上。將edit_area添加到paned_window時指定padx和pady屬性在加上最前面指定背景色的結果是可以看到edit_area和paned_window之間的邊界,實際的開發不一定需要。
edit_area = Frame(paned_window)# create text widget.text = Text(edit_area,background="#a0ffa0", foreground="#000000",wrap=NONE)text.grid(row = 0, column = 0, sticky=W+N+E+S)scroll_ty = Scrollbar(edit_area, orient=VERTICAL, command=text.yview)scroll_ty.grid(row=0, column=1, sticky=N+S)text['yscrollcommand']=scroll_ty.setscroll_tx = Scrollbar(edit_area, orient=HORIZONTAL, command=text.xview)scroll_tx.grid(row=1, column=0, sticky=E+W)text['xscrollcommand']=scroll_tx.setedit_area.grid_rowconfigure(0, weight=1)edit_area.grid_columnconfigure(0, weight=1)paned_window.add(edit_area, sticky=W+N+E+S, padx=2, pady=2)
17行,18行代碼的目的是當edit_area的大小發生變化時,Text的控件的大小隨之變化而Scrollbar的寬度維持不變。
將paned_window布置在root窗口的第一行:
paned_window.grid(row = 0, column = 0, sticky=N+S+W+E)
第二行布置一個表示信息的標簽控件。
label=Label(root)label.grid(row=1, column=0)
設置跟窗口的行列屬性以保證拖動root窗口時,paned_window和label的大小可以正確地隨著變化。
到此,關于“Tkinter分欄窗口控件PanedWindow怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。