日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/4/16 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pygtk笔记--2.1:布局容器,VBox、Hbox、Alignment 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

我們使用一些軟件的時候發現,軟件上的按鈕,圖標,輸入框等部件,擺放的井井有條。就算是我們改變軟件窗體的大小,那些部件依然能適應我們的調整,以最優美的形式展現出來。這里就用到了布局管理

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

這里先介紹兩個組件:?

label=gtk.Label('這個組件負責顯示文字')?
button=gtk.Label('這個組件負責顯示一個按鈕')

VBox,HBox,Alignment:

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

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

?

分解:

?

  • 綠色部分是一個VBox
  • 每一個紅色部分是一個HBox
  • 黃色部分是一個Aligenment

代碼們:

#coding=utf-8 __author__ = '一個胖子'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('模擬一個麻將桌的布局')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('這個放在中間')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()

?

關鍵點解釋:
?

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

?

轉載于:https://my.oschina.net/u/222523/blog/162938

總結

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

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