2013-03-02 21 views
0

我一直在努力尋找一種方法,在pygobject中將RadioToolButtons分組,但沒有成功。沒有*.RadioToolButton.join_group(*)方法,如RadioButton s。Group Gtk.RadioToolButtons?

這是我一直想:

## Toolbar 
self.mainWindow.mainBox.mainToolbar = Gtk.Toolbar() 
self.mainWindow.mainBox.mainToolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR) 
self.mainWindow.mainBox.mainToolbar.set_style(Gtk.ToolbarStyle.BOTH) 
self.mainWindow.mainBox.mainToolbar.radioGroup = list() # *.radioGroup = [] Does not work either. 

## Left toolbar separator 
self.mainWindow.mainBox.mainToolbar.leftSeparator = Gtk.SeparatorToolItem(draw = False) 
self.mainWindow.mainBox.mainToolbar.leftSeparator.set_expand(True) 

## Overview toggle button 
self.mainWindow.mainBox.mainToolbar.overviewRadio = Gtk.RadioToolButton(Gtk.STOCK_HOME) 
self.mainWindow.mainBox.mainToolbar.overviewRadio.set_group(self.mainWindow.mainBox.mainToolbar.radioGroup) 
self.mainWindow.mainBox.mainToolbar.overviewRadio.set_is_important(True) 
self.mainWindow.mainBox.mainToolbar.overviewRadio.set_label("Overview") 
self.mainWindow.mainBox.mainToolbar.overviewRadio.connect("clicked", self.on_overviewRadio_clicked) 
self.mainWindow.mainBox.mainToolbar.overviewRadio.set_border_width(4) 

## Basic settings toggle button 
self.mainWindow.mainBox.mainToolbar.basicRadio = RadioToolButton(Gtk.STOCK_PROPERTIES) 
self.mainWindow.mainBox.mainToolbar.basicRadio.set_group(self.mainWindow.mainBox.mainToolbar.radioGroup) 
self.mainWindow.mainBox.mainToolbar.basicRadio.set_is_important(True) 
self.mainWindow.mainBox.mainToolbar.basicRadio.set_label("Basic") 
self.mainWindow.mainBox.mainToolbar.basicRadio.connect("clicked", self.on_basicRadio_clicked) 
self.mainWindow.mainBox.mainToolbar.basicRadio.set_border_width(4) 

## Right toolbar separator 
self.mainWindow.mainBox.mainToolbar.rightSeparator = Gtk.SeparatorToolItem(
    draw = False) 
self.mainWindow.mainBox.mainToolbar.rightSeparator.set_expand(True) 

(不是所有的我的代碼 - *.show_all()不是問題)

這裏是我得到:

What I get

我在做什麼錯?我怎樣才能將這兩個按鈕分組?

回答

1

創建第二個單選按鈕,因此使用的第一個單選按鈕的組中:

Gtk.RadioToolButton.new_with_stock_from_widget(first_button, Gtk.STOCK_PROPERTIES) 

PS。使用Notebook可能會更好地完成您嘗試完成的UI任務嗎?

+0

順便說一句你從哪裏得到這些知識? pygobject文檔非常稀少,甚至沒有RadioToolButton頁面。 – 2013-03-02 21:21:24

+0

謝謝,畢竟它工作。你知道'Gtk.RadioToolButton'是否有一個像'join_group()'這樣的獨立方法,還是唯一的方法? – 2013-03-02 22:23:42

+0

我通過閱讀C文檔瞭解這一點。 pygobject文檔缺乏,是真的,但是這個問題正在積極地進行中。我認爲無線工具按鈕沒有'join_group()'方法。 – ptomato 2013-03-03 09:52:19