我正在开发 PyQt 应用程序。目前,有一个包含 QHBoxLayout
的状态面板(定义为 QWidget
)。此布局经常使用由应用程序的另一部分创建的 QPushButton
进行更新。
每当出现的按钮需要更改(相当频繁)时,就会调用更新效果。现有按钮从布局中删除(通过调用 layout.removeWidget(button)
然后调用 button.setParent(None)
)并将新按钮添加到布局中。
通常,这是有效的。但有时,当我在要删除的按钮上调用 button.setParent(None)
时,它会弹出应用程序并开始在其自己的独立框架中 float 。
如何从布局中删除按钮并确保它不会开始 float ?
最佳答案
您应该调用按钮的 close()
方法。如果你希望它在关闭时被删除,你可以设置Qt.WA_DeleteOnClose
属性:
button.setAttribute(Qt.WA_DeleteOnClose)
关于python - 如何防止 Qt 按钮出现在单独的框架中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264482/