wxPython實現分隔視窗

2022-10-03 18:39:09 字數 1825 閱讀 4390

1、分割視窗

分隔視窗(wx.splitterwindow)就是將視窗分成兩部分,即左右或上下兩部分,如下圖所示視窗,整體上分為左右兩個視窗,右視窗又分為上下兩視窗,兩個視窗之間的分隔線是可以拖動的,稱為「窗框」(sash)。

wx.splitterwindow中乙個常用的方法有: 

如下圖為乙個分割視窗,採用的是左右分割,左右兩邊各放乙個面板。左邊面板設定乙個垂直box管理器,並新增上乙個listbox控制項;然後給控制項綁上事www.cppcns.com件處理,獲取事件內容並在右側的statictext上顯示出來。

2、**實現

上圖的**實現如下所示:

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)

# 設定左右布局的分割視窗left和right

swindow.splitvertically(left, right, 100)

# 設定最小窗格大小,左右布局指左邊視窗大小

swindow.setminimumpanesize(80)

# 建立乙個listbox物件

self.list = ['蘋果', '橘子', '香蕉', '梨子', '芒果']

lb2 = wx.listbox(left, 1, choiceswww.cppcns.com=程式設計客棧self.list, style=wx.lb_single)

self.bind(wx.evt_listbox, self.on_listbox, lb2)

# 為left面板設定乙個布局管理器

vbox1 = wx.boxsizer(wx.vertical)

left.setsizer(vbox1)

vbox1.add(lb2, 1, flag=wx.expand | wx.all, border=5)

# 為right面板設定乙個布局管理器

vbox2 = wx.boxsizer(wx.vertical)

right.setsizer((vbox2))

self.st = wx.statictext(right, 2, label='請選擇')

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):

# 建立視窗物件

frame = myframe()

frame.show()

return true

def onexit(self):

print("應用程式退出")

return 0

if __name__ == '__main__':

app = app()

app.mainloop()

3、執行結果如下:

本文標題: wxpython實現分隔視窗

本文位址: /jiaoben/python/287188.html

WxPython 一 視窗分割

分隔視窗 wx.splitterwindow 就是將視窗分成兩部分,即左右或上下兩部分,兩個視窗之間的分隔線是可以拖動的,稱為 窗框 sash splitterwindow中一般常用的方法有兩種 水平分割跟垂直分割 splitvertically leftwindow,rightwindow,sas...

wxPython簡單的視窗程式

當人們說到gui介面程式時,往往就是指有視窗,選單和圖示。自然他們就認為使用wx.window來表示乙個螢幕上的視窗,但是很不幸,因為不是這樣使用的,在wxpython裡wx.window是視覺化元件 按鈕 選單等等 的基類,而是使用wx.frame來表示程式的視窗,這種定義導致很多新同學對wxpy...

wxPython實現視窗在工作列中閃爍

為提醒使用者注意,通常採用視窗閃爍的效果來達到這一目的,就像即時聊天工具qq,jabber等,當收到好友發來的訊息時通常會閃爍托盤中的圖示,如果聊天視窗是開啟的,那麼就會閃爍開啟的聊天視窗在工作列中的按鈕,甚至有時連視窗的標題欄都會閃爍。其實實現這樣的閃爍功能是很簡單的,如果對windows api...