tkinter高級(jí)布局之PanedWindow和notebook詳解
tkinter傳統(tǒng)的布局工具就是Frame,頂多算上LabelFrame,然后運(yùn)用place, grid和pack,來排滿一張窗口,其他的就沒有了。接下來要介紹的兩種布局控件,或者說是容器比較恰當(dāng),分別是可以動(dòng)態(tài)劃分子控件的PanedWindow,和提供了選項(xiàng)卡工具的otebook,其中后者只存在于tkinter.ttk中。
PanedWindow
PanedWindow可以理解為是更加高級(jí)的窗口或者Frame,在PanedWindow中,其子控件可以自由拖動(dòng)邊框。這個(gè)控件在tkinter和tkinter.ttk中都有,下面用ttk為示例
import tkinter as tk import tkinter.ttk as ttk pw = ttk.PanedWindow(orient='horizontal') pw.pack(fill="both", expand=1) pw.add(ttk.LabelFrame(pw, text="left")) pw.add(ttk.LabelFrame(pw, text="right")) tk.mainloop()
效果如下

在PaneWindow中,除了設(shè)置寬高的height, width,背景色bg,邊框?qū)挾萣d,鼠標(biāo)樣式cursor,邊框樣式relief這些通用參數(shù)外,主要參數(shù)如下
| 參數(shù) | |
|---|---|
| showhandle | 為True時(shí)顯示方形手柄 |
| handlepad | 手柄位置,默認(rèn)8像素 |
| handlesize | 手柄邊長,默認(rèn)8像素 |
| opaqueresize | 默認(rèn)為True,窗格的尺寸隨用戶鼠標(biāo)的拖拽而實(shí)時(shí)變化;如設(shè)為False,則只有在松開鼠標(biāo)后,窗格尺寸才發(fā)生變化。 |
| orient | 窗格分布方式,可選 horizontal(橫向)和 vertical(縱向) |
| sashpad | 設(shè)置每一條分割線到窗格間的間距 |
| sashrelief | 分割線樣式,默認(rèn)"flat",可選"sunken",“raised”,“groove” 或 “ridge” |
| sashwidth | 設(shè)置分割線的寬度 |
notebook
選項(xiàng)卡也是非常實(shí)用的布局利器,有了這個(gè),可以讓窗口可以插入更多的內(nèi)容,簡單示例如下
nt = ttk.Notebook() lf1 = ttk.LabelFrame(nt, text="選項(xiàng)卡1", labelanchor='n') nt.add(lf1, text='選項(xiàng)卡1') lf2 = ttk.LabelFrame(nt, text="選項(xiàng)卡2", labelanchor='n') nt.add(lf2, text='選項(xiàng)卡2') nt.pack(fill=tk.BOTH, expand=True) tk.mainloop()
效果如下

其中add函數(shù)可以添加新的選項(xiàng)卡,除了待添加控件之外,其主要參數(shù)如下
| 參數(shù) | |
|---|---|
| text | 選項(xiàng)卡中標(biāo)題 |
| compound | 當(dāng)選項(xiàng)卡內(nèi)同時(shí)含圖像和文字時(shí),彼此之間的位置關(guān)系 |
| image | 選項(xiàng)卡以圖像方式呈現(xiàn) |
| padding | 內(nèi)邊距 |
| state | 選項(xiàng)卡狀態(tài),可選normal、disabled、hidden |
| sticky | 指出子窗口面板的配置方式,可選nsew,表示南北東西 |
| underline | 指出第幾個(gè)字母含下劃線,從0開始計(jì)算的索引 |
到此這篇關(guān)于tkinter高級(jí)布局之PanedWindow和notebook詳解的文章就介紹到這了,更多相關(guān)tkinter布局內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的多線程端口掃描工具分享
這篇文章主要介紹了Python實(shí)現(xiàn)的多線程端口掃描工具分享,工具實(shí)現(xiàn)了掃單IP和掃IP段功能,本文給出運(yùn)行效果和實(shí)現(xiàn)源碼,需要的朋友可以參考下2015-01-01
Anaconda+Pycharm+Pytorch虛擬環(huán)境創(chuàng)建(各種包安裝保姆級(jí)教學(xué))
相信很多時(shí)候大家都會(huì)用到虛擬環(huán)境,他具有可以讓你快速切換不同的python版本,本文主要介紹了Anaconda+Pycharm+Pytorch虛擬環(huán)境創(chuàng)建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
opencv+tesseract實(shí)現(xiàn)驗(yàn)證碼識(shí)別的示例
本文主要介紹了opencv+tesseract實(shí)現(xiàn)驗(yàn)證碼識(shí)別的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
分享5個(gè)方便好用的Python自動(dòng)化腳本
這篇文章主要介紹了分享5個(gè)方便好用的Python自動(dòng)化腳本,這次我們使用Python來實(shí)現(xiàn)幾個(gè)自動(dòng)化場景,或許可以用到你的工作中或者對(duì)你的學(xué)習(xí)有所幫助,需要的朋友可以參考一下2022-03-03
Python PiP 換鏡像源的實(shí)現(xiàn)步驟
這篇文章主要為大家介紹了配置pip鏡像源以加速Python包下載,包括更新pip、永久/臨時(shí)換源、驗(yàn)證源生效、恢復(fù)默認(rèn)源等操作,具有一定的參考價(jià)值,感興趣的可以了解一下2023-02-02
在python下使用tensorflow判斷是否存在文件夾的實(shí)例
今天小編就為大家分享一篇在python下使用tensorflow判斷是否存在文件夾的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python自定義類的數(shù)組排序?qū)崿F(xiàn)代碼
這篇文章主要介紹了Python自定義類的數(shù)組排序?qū)崿F(xiàn)代碼,需要的朋友可以參考下2016-08-08

