【发布时间】:2010-12-09 22:39:09
【问题描述】:
如何在 Qt 中叠加小部件?
我想创建一些小部件并将它们放置在布局之外,而是在其他小部件的几何形状发生变化时调整它们的大小和位置。
类似于屏幕截图上的按钮:
【问题讨论】:
标签: language-agnostic qt layout overlay
如何在 Qt 中叠加小部件?
我想创建一些小部件并将它们放置在布局之外,而是在其他小部件的几何形状发生变化时调整它们的大小和位置。
类似于屏幕截图上的按钮:
【问题讨论】:
标签: language-agnostic qt layout overlay
您只需要创建您的 QPushButton(或任何 QWidget),指明其父 QWidget,然后显示它。
不要将其添加到父布局中,否则您将无法随意移动它。
别忘了指明它的父级,否则它将显示为独立的 QWidget。
在这些情况下,您的 QPushButton 将被视为 QWidget 的子级,而不是父级布局的成员。所以它将是一个“浮动”的孩子,你必须在调整父母 QWidget 的大小时管理它的行为。
如果您想要所有叠加按钮的统一行为,您应该继承 QLayout 并重新定义成员 bahaviour。
【讨论】:
如果它们是没有布局的小部件的子级,我认为您应该可以随意移动它们。
【讨论】:
我正在从事的项目需要这样的小部件,因此我听取了 Patrice 的建议并编写了这段代码 (Python) PyQt4 Widget Overlay
【讨论】: