#!/usr/bin/env python
# example buttonbox.py
import pygtk
pygtk.require('2.0')
import gtk
class ButtonBoxExample:
# Create a Button Box with the specified parameters
def create_bbox(self, horizontal, title, spacing, layout):
frame = gtk.Frame(title)
if horizontal:
bbox = gtk.HButtonBox()
else:
bbox = gtk.VButtonBox()
bbox.set_border_width(5)
frame.add(bbox)
# Set the appearance of the Button Box
bbox.set_layout(layout)
bbox.set_spacing(spacing)
button = gtk.Button(stock=gtk.STOCK_OK)
bbox.add(button)
button = gtk.Button(stock=gtk.STOCK_CANCEL)
bbox.add(button)
button = gtk.Button(stock=gtk.STOCK_HELP)
bbox.add(button)
return frame
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Button Boxes")
window.connect("destroy", lambda x: gtk.main_quit())
window.set_border_width(10)
main_vbox = gtk.VBox(False, 0)
window.add(main_vbox)
frame_horz = gtk.Frame("Horizontal Button Boxes")
main_vbox.pack_start(frame_horz, True, True, 10)
vbox = gtk.VBox(False, 0)
vbox.set_border_width(10)
frame_horz.add(vbox)
vbox.pack_start(self.create_bbox(True, "Spread (spacing 40)",
40, gtk.BUTTONBOX_SPREAD),
True, True, 0)
vbox.pack_start(self.create_bbox(True, "Edge (spacing 30)",
30, gtk.BUTTONBOX_EDGE),
True, True, 5)
vbox.pack_start(self.create_bbox(True, "Start (spacing 20)",
20, gtk.BUTTONBOX_START),
True, True, 5)
vbox.pack_start(self.create_bbox(True, "End (spacing 10)",
10, gtk.BUTTONBOX_END),
True, True, 5)
frame_vert = gtk.Frame("Vertical Button Boxes")
main_vbox.pack_start(frame_vert, True, True, 10)
hbox = gtk.HBox(False, 0)
hbox.set_border_width(10)
frame_vert.add(hbox)
hbox.pack_start(self.create_bbox(False, "Spread (spacing 5)",
5, gtk.BUTTONBOX_SPREAD),
True, True, 0)
hbox.pack_start(self.create_bbox(False, "Edge (spacing 30)",
30, gtk.BUTTONBOX_EDGE),
True, True, 5)
hbox.pack_start(self.create_bbox(False, "Start (spacing 20)",
20, gtk.BUTTONBOX_START),
True, True, 5)
hbox.pack_start(self.create_bbox(False, "End (spacing 20)",
20, gtk.BUTTONBOX_END),
True, True, 5)
window.show_all()
def main():
# Enter the event loop
gtk.main()
return 0
if __name__ == "__main__":
ButtonBoxExample()
main()
?
一、按鈕盒構(gòu)件
按鈕盒構(gòu)件(GtkButtonBox) 可以很方便地快速布置一組按鈕。它有水平和垂直兩種樣式。函數(shù)gtk_hbutton_box_new創(chuàng)建水平按鈕盒構(gòu)件。函數(shù)gtk_vbutton_box_new創(chuàng)建垂直按鈕盒構(gòu)件。
1.
名稱::
gtk_hbutton_box_new
gtk_vbutton_box_new
功能:
創(chuàng)建按鈕盒構(gòu)件
頭文件:
#include
函數(shù)原形:
GtkWidget *gtk_hbutton_box_new( void );
GtkWidget *gtk_vbutton_box_new( void );
參數(shù):
無
返回值:
新的按鈕盒構(gòu)件
? ?? ?
創(chuàng)建完按鈕盒構(gòu)件就可以將按鈕放置在按鈕盒中了。放置按扭用通用容器函數(shù)gtk_container_add來完成。
? ?? ?
函數(shù)gtk_hbutton_box_set_spacing_default和gtk_vbutton_box_set_spacing_default可以改變按鈕的間距。
函數(shù)gtk_hbutton_box_get_spacing_default和gtk_vbutton_box_get_spacing_default可以獲得按鈕的間距。
2.
名稱::
gtk_hbutton_box_set_spacing_default
gtk_vbutton_box_set_spacing_default
功能:
設(shè)置按鈕間距
頭文件:
#include
函數(shù)原形:
void gtk_hbutton_box_set_spacing_default( gint spacing );
void gtk_vbutton_box_set_spacing_default( gint spacing );
參數(shù):
spacing? ?間距
返回值:
無
3.
名稱::
gtk_hbutton_box_get_spacing_default
gtk_vbutton_box_get_spacing_default
功能:
取得按鈕間距
頭文件:
#include
函數(shù)原形:
gint gtk_hbutton_box_get_spacing_default( void );
gint gtk_vbutton_box_get_spacing_default( void );
參數(shù):
無
返回值:
按鈕間距
函數(shù)gtk_hbutton_box_set_layout_default和gtk_vbutton_box_set_layout_default可以設(shè)置按扭構(gòu)件的布局。
函數(shù)gtk_hbutton_box_get_layout_default和gtk_vbutton_box_get_layout_default取得按鈕構(gòu)件布局。
4.
名稱::
gtk_hbutton_box_set_layout_default
gtk_vbutton_box_set_layout_default
功能:
設(shè)置按鈕盒的布局
頭文件:
#include
函數(shù)原形:
void gtk_hbutton_box_set_layout_default( GtkButtonBoxStyle layout );
void gtk_vbutton_box_set_layout_default( GtkButtonBoxStyle layout );
參數(shù):
layout 按鈕盒的布局
返回值:
無
? ?? ?
layout參數(shù)可以取以下值:
GTK_BUTTONBOX_DEFAULT_STYLE
GTK_BUTTONBOX_SPREAD
GTK_BUTTONBOX_EDGE
GTK_BUTTONBOX_START
GTK_BUTTONBOX_END
5.
名稱::
gtk_hbutton_box_get_layout_default
gtk_vbutton_box_get_layout_default
功能:
獲得按鈕盒的布局
頭文件:
#include
函數(shù)原形:
GtkButtonBoxStyle gtk_hbutton_box_get_layout_default( void );
GtkButtonBoxStyle gtk_vbutton_box_get_layout_default( void );
參數(shù):
無
返回值:
按鈕盒的布局
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

