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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pygtk笔记--2.1:布局容器,VBox、Hbox、Alignment

發(fā)布時(shí)間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pygtk笔记--2.1:布局容器,VBox、Hbox、Alignment 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

我們使用一些軟件的時(shí)候發(fā)現(xiàn),軟件上的按鈕,圖標(biāo),輸入框等部件,擺放的井井有條。就算是我們改變軟件窗體的大小,那些部件依然能適應(yīng)我們的調(diào)整,以最優(yōu)美的形式展現(xiàn)出來。這里就用到了布局管理

布局管理就是替你管理組件顯示樣式、位置等內(nèi)容的

這里先介紹兩個(gè)組件:?

label=gtk.Label('這個(gè)組件負(fù)責(zé)顯示文字')?
button=gtk.Label('這個(gè)組件負(fù)責(zé)顯示一個(gè)按鈕')

VBox,HBox,Alignment:

VBox -- 縱向盒子布局
HBox -- 橫向盒子布局
Alignment --??控制子部件的顯示位置、大小(只能有一個(gè)子部件)

下面展示一個(gè)使用了以上幾個(gè)部件做出來的簡單效果:

?

分解:

?

  • 綠色部分是一個(gè)VBox
  • 每一個(gè)紅色部分是一個(gè)HBox
  • 黃色部分是一個(gè)Aligenment

代碼們:

#coding=utf-8 __author__ = '一個(gè)胖子'import gtkclass VHA(gtk.Window):def __init__(self):super(VHA,self).__init__()self.set_size_request(500,300)self.set_position(gtk.WIN_POS_CENTER)self.set_title('模擬一個(gè)麻將桌的布局')self._init_child()self.connect('destroy',gtk.main_quit)self.show_all()def _init_child(self):vbox=gtk.VBox(False,3)l1=gtk.Label('角')l1.set_size_request(20,20)l2=gtk.Label('角')l2.set_size_request(20,20)l3=gtk.Label('角')l3.set_size_request(20,20)l4=gtk.Label('角')l4.set_size_request(20,20)l5=gtk.Label('這個(gè)放在中間')calign=gtk.Alignment(0.3,0,0,0.3)calign.add(l5)b1=gtk.Button('北')b2=gtk.Button('西')b3=gtk.Button('東')b4=gtk.Button('南')hbox1=gtk.HBox(False,3)hbox1.pack_start(l1,False,False)hbox1.pack_start(b1)hbox1.pack_start(l2,False,False)vbox.pack_start(hbox1,False,False)hbox2=gtk.HBox(False,3)hbox2.pack_start(b2,False,False)hbox2.pack_start(calign)hbox2.pack_start(b3,False,False)vbox.pack_start(hbox2)hbox3=gtk.HBox(False,3)hbox3.pack_start(l3,False,False)hbox3.pack_start(b4)hbox3.pack_start(l4,False,False)vbox.pack_start(hbox3,False,False)self.add(vbox)if __name__=='__main__':VHA()gtk.main()

?

關(guān)鍵點(diǎn)解釋:
?

gtk.HBox(False,3)#兩個(gè)參數(shù)分別是(子組件大小是否平均分派,子部件間距) gtk.VBox(False,3)#參數(shù)意思同上 vbox.pack_start(hbox1,False,False,0) #參數(shù)1:添加的子部件 #參數(shù)2:子部件占用大小,True:與其他部件平均分配空間,False:最小占用 #**參數(shù)2的False,必須和類初始化的時(shí)候的False一起使用才有效 #參數(shù)3:沒研究 #參數(shù)4:沒研究 alg=Alignment(1,1,0,0) #參數(shù)1:水平方向上,左側(cè)空白位置占用比---1表示左側(cè)空白位置占用全部,即組件在最右邊顯示 #參數(shù)2:垂直方向上,上方空白位置占用比---1表示上方空白位置占用全部,即組件在最下邊顯示 #參數(shù)3:子部件水平方向占用比,0最小顯示,1最大顯示 #參數(shù)4:子部件垂直方向占用比,0最小顯示,1最大顯示

?

轉(zhuǎn)載于:https://my.oschina.net/u/222523/blog/162938

總結(jié)

以上是生活随笔為你收集整理的pygtk笔记--2.1:布局容器,VBox、Hbox、Alignment的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。