Gtk +中有一种方法可以将一个小部件堆叠在另一个上 - 不包括GtkFixed? GtkFixed不能很好地工作,原因有两个:1)我需要Z顺序,2)我需要一个小部件来伸展和填充提供的空间。在Gtk中堆叠小部件+
2
A
回答
1
我不认为标准GTK中有适当的容器。我将继承Gtk :: Fixed ...它仍然是最接近的一个,如果你使用gtkmm,那么子类化不应该很困难¹。然后,您可以控制所有小部件的尺寸,将一个选定的小孩拉伸以填充空间。
要控制Z轴,您可能需要操作窗口小部件的X窗口 - 查看关于GDK窗口主题的GDK文档。我记得在PyGTK中每个部件都有gtk.Widget.window属性,我想对gtkmm也是一样。这假定你的所有子窗口小部件都有X窗口,所以f.e.你需要在Gtk :: EventBox中包装Gtk :: Label。
¹http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/chapter-customwidgets.html
3
我不得不使用一个GTK ::修复了这个问题,确切的(实际上gtk.Fixed - pygtk的 - 但我认为这是完全一样的下方),然后我就能够通过操作每个小部件的窗口来轻松处理它。
在我的情况下,小部件已经是事件盒的情况下,我只需要确保一个我拖着周围的人在上面,因为否则下跌他人,看得出来非常错误的下面。该解决方案与调用“widget.window.raise_()”一样简单,以在单击小部件开始拖动时提升小部件的底层窗口。
所以我基本上只是重申,以前的答案有效,但我想指出,它其实很简单。这听起来像你可能需要创建一些事件框来容纳你的小部件,但之后它应该可以工作。
相关问题
- 1. 堆叠GTK +小部件
- 2. 重叠窗口小部件gtk
- 3. 堆叠部件页
- 4. 在GTK中访问小部件+
- 5. 不在Gtk窗口中的小部件
- 6. 如何在Qt中使用动画来堆叠小部件?
- 7. 在gtk文本视图中移动一个gtk小部件
- 8. Qt小部件在彼此之上堆叠子布局
- 9. PyQt5中堆叠小部件的透明背景
- 10. 在MonoDevelop(Gtk#)中获取漂亮的小部件大小
- 11. 垂直堆叠六个图库小部件的视图
- 12. GTK# - 在调整大小时重叠组件的问题
- 13. gtk复合小部件焦点
- 14. 如何旋转gtk小部件?
- 15. gtk cellrenderer显示一个小部件
- 16. GTK或Qt的图表小部件
- 17. gtk +:GtkFileChooserDialog隐藏一些小部件
- 18. Gtk小部件指针比较
- 19. 拨号/仪表GTK小部件
- 20. GTK下拉日历小部件?
- 21. Gtk +编程风格:定义小部件
- 22. 自定义GTK小部件绕过GTK布局引擎?
- 23. 如何在GTK +中设置小部件的位置?
- 24. 在Gtk中添加和查找小部件:: DrawingArea
- 25. GTK +小部件在Paned中调整自己
- 26. gtk TextView小部件不会在函数中更新
- 27. GTK:调整包含在文本视图中的小部件
- 28. 在Gtk :: Entry小部件中强制输入数字
- 29. 在Gtk中,是否可以使小部件淡入淡出?
- 30. 在GTK中,如何在屏幕上获取小部件的实际大小?
你只是想在同一时间显示在某一地方一个小部件工作的代码,填充空间,或更复杂的东西? – liori 2009-06-30 20:57:05
我想显示一个填充整个空间的小部件,然后在固定位置的另一个小部件上,同时可见。 – c4757p 2009-06-30 21:02:18
现在,是的,确实有一个控件允许控制Z顺序和对齐:[`GtkOverlay`](https://developer.gnome.org/gtk3/stable/GtkOverlay.html)。 – 2017-10-10 12:01:06