wxPython實(shí)現(xiàn)分隔窗口
本文實(shí)例為大家分享了wxPython分隔窗口的具體代碼,供大家參考,具體內(nèi)容如下
1、分割窗口
分隔窗口(wx.SplitterWindow)就是將窗口分成兩部分,即左右或上下兩部分,如下圖所示窗口,整體上分為左右兩個(gè)窗口,右窗口又分為上下兩窗口,兩個(gè)窗口之間的分隔線是可以拖動(dòng)的,稱為“窗框”(sash)。

wx.SplitterWindow中一個(gè)常用的方法有:
- SplitVertically(window1, window2, sashPosition=0)。設(shè)置左右布局的分隔窗口,window1為左窗口,window2為右窗口,sashPosition是窗口的位置。
- SplitHorizontally(window1, window2, sashPosition=0)。設(shè)置上下布局的分隔窗口,window1為上窗口,window2為下窗口,sashPosition是窗口的位置。
- SetMinimumPaneSize(paneSize)。設(shè)置最小窗口尺寸,如果是左右布局是指左窗口的最小尺寸,如果是上下布局是指上窗口的最小尺寸。如果沒有設(shè)置則默認(rèn)為0。
如下圖為一個(gè)分割窗口,采用的是左右分割,左右兩邊各放一個(gè)面板。左邊面板設(shè)置一個(gè)垂直box管理器,并添加上一個(gè)ListBox控件;然后給控件綁上事件處理,獲取事件內(nèi)容并在右側(cè)的StaticText上顯示出來(lái)。

2、代碼實(shí)現(xiàn)
上圖的代碼實(shí)現(xiàn)如下所示:
import wx
# 自定義窗口類MyFrame
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title="分隔窗口", size=(450, 300))
self.Center()
swindow = wx.SplitterWindow(parent=self, id=-1)
left = wx.Panel(parent=swindow)
right = wx.Panel(parent=swindow)
# 設(shè)置左右布局的分割窗口left和right
swindow.SplitVertically(left, right, 100)
# 設(shè)置最小窗格大小,左右布局指左邊窗口大小
swindow.SetMinimumPaneSize(80)
# 創(chuàng)建一個(gè)ListBox對(duì)象
self.list = ['蘋果', '橘子', '香蕉', '梨子', '芒果']
lb2 = wx.ListBox(left, 1, choices=self.list, style=wx.LB_SINGLE)
self.Bind(wx.EVT_LISTBOX, self.on_listbox, lb2)
# 為left面板設(shè)置一個(gè)布局管理器
vbox1 = wx.BoxSizer(wx.VERTICAL)
left.SetSizer(vbox1)
vbox1.Add(lb2, 1, flag=wx.EXPAND | wx.ALL, border=5)
# 為right面板設(shè)置一個(gè)布局管理器
vbox2 = wx.BoxSizer(wx.VERTICAL)
right.SetSizer((vbox2))
self.st = wx.StaticText(right, 2, label='請(qǐng)選擇')
vbox2.Add(self.st, 1, flag=wx.EXPAND | wx.ALL, border=5)
def on_listbox(self, event):
self.st.SetLabelText(event.GetString())
class App(wx.App):
def OnInit(self):
# 創(chuàng)建窗口對(duì)象
frame = MyFrame()
frame.Show()
return True
def OnExit(self):
print("應(yīng)用程序退出")
return 0
if __name__ == '__main__':
app = App()
app.MainLoop()
3、運(yùn)行結(jié)果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python用WxPython庫(kù)實(shí)現(xiàn)無(wú)邊框窗體和透明窗體實(shí)現(xiàn)方法詳解
- python圖形開發(fā)GUI庫(kù)wxpython使用方法詳解
- wxpython自定義下拉列表框過(guò)程圖解
- wxPython修改文本框顏色過(guò)程解析
- python wxpython 實(shí)現(xiàn)界面跳轉(zhuǎn)功能
- wxpython多線程防假死與線程間傳遞消息實(shí)例詳解
- wxpython實(shí)現(xiàn)按鈕切換界面的方法
- wxPython繪圖模塊wxPyPlot實(shí)現(xiàn)數(shù)據(jù)可視化
- wxPython+Matplotlib繪制折線圖表
- wxPython實(shí)現(xiàn)繪圖小例子
- wxPython實(shí)現(xiàn)畫圖板
- wxPython之wx.DC繪制形狀
- wxpython+pymysql實(shí)現(xiàn)用戶登陸功能
- wxPython電子表格功能wx.grid實(shí)例教程
- wxPython實(shí)現(xiàn)帶顏色的進(jìn)度條
- wxPython實(shí)現(xiàn)列表增刪改查功能
- wxPython多個(gè)窗口的基本結(jié)構(gòu)
- python圖形界面開發(fā)之wxPython樹控件使用方法詳解
相關(guān)文章
解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問(wèn)題
這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的解決辦法,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
python selenium禁止加載某些請(qǐng)求的實(shí)現(xiàn)
本文主要介紹了python selenium禁止加載某些請(qǐng)求的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
python3 面向?qū)ο骭_類的內(nèi)置屬性與方法的實(shí)例代碼
這篇文章主要介紹了python3 面向?qū)ο骭_類的內(nèi)置屬性與方法的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
詳解python常用命令行選項(xiàng)與環(huán)境變量
這篇文章主要介紹了python常用命令行選項(xiàng)與環(huán)境變量,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
Python3爬蟲里關(guān)于代理的設(shè)置總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Python3爬蟲里關(guān)于代理的設(shè)置總結(jié),需要的朋友們可以參考下。2020-07-07

