日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

wxPython各个布局的简单案例

發(fā)布時間:2025/3/21 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wxPython各个布局的简单案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、絕對布局

panel = wx.Panel(self.frame)panel1 = wx.Panel(panel,pos=(0,0), size=(250, wx.EXPAND)) #設置寬度為250,高度撐滿;并且起點為之為(0,0) panel1.SetBackgroundColour("yellow") panel2 = wx.Panel(panel,pos=(255,0), size=(wx.EXPAND, wx.EXPAND)) #設置寬度和高度都撐滿 panel2.SetBackgroundColour("green")

?運行結果如下(其他部分代碼省略,只給出了主題部分pannel的布局代碼):

二、使用Sizer來進行布局

Sizer布局包含以下幾類布局管理器:

參考地址:

https://docs.wxwidgets.org/stable/classwx_sizer.html

http://xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.Sizer.html

BoxSizer,可設置水平或垂直布局,當控件超出窗體后不會自動換行:

def createPanel3(self):# 創(chuàng)建面板panel = wx.Panel(self.frame)vbox = wx.BoxSizer(wx.VERTICAL) #設置水平方向布局but1 = wx.Button(panel,wx.ID_ANY,"button1")but2 = wx.Button(panel, wx.ID_ANY, "button2")but3 = wx.Button(panel, wx.ID_ANY, "button3")but4 = wx.Button(panel, wx.ID_ANY, "button4")but5 = wx.Button(panel, wx.ID_ANY, "button5")but6 = wx.Button(panel, wx.ID_ANY, "button6")but7 = wx.Button(panel, wx.ID_ANY, "button7")but8 = wx.Button(panel, wx.ID_ANY, "button8")but9 = wx.Button(panel, wx.ID_ANY, "button9")but10 = wx.Button(panel, wx.ID_ANY, "button10")vbox.Add(but1)vbox.Add(but2,flag=wx.ALIGN_CENTER) #設置相對于窗口居中對齊vbox.Add(but3)vbox.Add(but4)vbox.Add(but5)vbox.Add(but6)vbox.Add(but7)vbox.Add(but8)vbox.Add(but9)vbox.Add(but10)panel.SetSizer(vbox)

運行結果:

StaticBoxSizer,在BoxSizer外面加了一個靜態(tài)的邊框以及標簽,他可以獨立的存在也可以放到其他布局管理器中進行嵌套:

panel = wx.Panel(self.frame)vbox = wx.BoxSizer(wx.VERTICAL)Svbox = wx.StaticBoxSizer(wx.VERTICAL,panel,"StaticBoxSizer布局") # 設置水平方向布局vbox.Add(Svbox) #將StaticBoxSizer嵌套到BoxSizer中but1 = wx.Button(panel, wx.ID_ANY, "button1")but2 = wx.Button(panel, wx.ID_ANY, "button2")but3 = wx.Button(panel, wx.ID_ANY, "button3")but4 = wx.Button(panel, wx.ID_ANY, "button4")Svbox.Add(but1)Svbox.Add(but2) # 設置相對于窗口居中對齊Svbox.Add(but3)Svbox.Add(but4)panel.SetSizer(vbox)

運行結果:

FlexGridSizer,網格布局,特點是可以設置網格之間的顯示比例:

panel = wx.Panel(self.frame)fgs = wx.FlexGridSizer(1, 2, 0, 5) #設置為1行,2列,列間距為5panel1 = wx.Panel(panel, size=(0, wx.EXPAND))panel1.SetBackgroundColour("yellow")panel2 = wx.Panel(panel, size=(0, wx.EXPAND))panel2.SetBackgroundColour("green")fgs.Add(panel1, 0, wx.EXPAND)fgs.Add(panel2, 0, wx.EXPAND)fgs.AddGrowableCol(0, 1) #指定第一列占1/3的寬度fgs.AddGrowableCol(1, 2) #指定第二列占2/3的寬度panel.SetSizer(fgs)

運行結果:

?

總結

以上是生活随笔為你收集整理的wxPython各个布局的简单案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。