2013-03-02 23 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