将其他小部件放入 gtk.Menu 中
我希望能够将 gtk.ProgressBar 放入我的 gtk.Menu 中,但由于菜单仅采用 gtk.MenuItems 及其子类,所以我所做的是采用普通的 gtk.MenuItem 并尝试添加我的进度栏作为一个孩子。由于 gtk.MenuItem 是 gtk.Bin 的子类,因此它应该能够容纳几乎任何小部件。
示例:
menu = gtk.Menu()
item = gtk.MenuItem()
button = gtk.ProgressBar()
button.pulse()
button.show()
item.add(button)
item.show()
menu.append(item)
这运行得很好,pygtk 根本没有抱怨。但是,我的进度条根本不显示:
如果我用 gtk.Label 替换进度条,它显示得很好。
现在我的问题是:
- 我如何知道它将使用哪些小部件?
- 我如何欺骗它让我把其他小部件放在那里?
I'd like to be able to put a gtk.ProgressBar in my gtk.Menu, but since menus only takes gtk.MenuItems and its subclasses, what I've done instead is take a plain gtk.MenuItem and tried adding my progress bar as a child to that. Since gtk.MenuItem is a subclass of gtk.Bin, it should be able to hold pretty much any widget.
Example:
menu = gtk.Menu()
item = gtk.MenuItem()
button = gtk.ProgressBar()
button.pulse()
button.show()
item.add(button)
item.show()
menu.append(item)
This runs just fine without pygtk complaining at all. However, my progress bar is simply not shown:
If I replace the progressbar with a gtk.Label, it's shown just fine.
Now to my questions:
- How do I know which widgets it will take?
- How do I trick it into letting me put other widgets in there?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是 Ubuntu 的应用程序指示器的限制,请参阅 askubuntu 上的此问题。
This is a limitation of Ubuntu's Application Indicators, see this question at askubuntu.
您的示例代码在这里工作(我通过修改将在下面粘贴的 pygtk 示例来测试它)。
也许是你的其余代码或主题的问题?
Your example code works here(I tested it by modifying a pygtk example that I will paste below).
Maybe its an issue with the rest of your code or your theme?