点击gtk.Expander自定义标签小部件无效

2 投票
1 回答
528 浏览
提问于 2025-04-17 02:16

我正在尝试在一个gtk.VBox里面动态添加几个gtk.Expander,并且想要有一个自定义的标签,这个标签是由一个gtk.HBox组成,里面有一个gtk.Label和一个gtk.Button/gtk.Image,这样就可以有一个删除按钮。这种设计有点像MacOS X上的一些列表小部件,比如Automator中的那种(图片)。你可以看看扩展器标题栏右边的关闭按钮:那正是我想要的效果。

问题是,当我点击删除的gtk.Button/gtk.Image时,扩展器会打开或关闭,而不是调用gtk.Button点击/gtk.Image事件的回调函数,所以这个事件被gtk.Expander捕获了。

我开了一个新问题,因为这个问题和在扩展器中右键点击PyGTK Hbox的问题类似,但他们没有找到解决办法。而且,找到一个专门为这个任务设计的小部件(如果有的话)会是更好的解决方案,而不是去修改扩展器... :-D

1 个回答

1

我建议你可以自己做一个自定义的小部件,可能可以从 Expander 这个组件继承。这里有一个关于在PyGTK中如何继承小部件的教程。

撰写回答