如何防止Qt按钮出现在单独的框架中?

我正在研究PyQt应用程序.当前,有一个状态面板(定义为QWidget),其中包含QHBoxLayout.经常使用应用程序另一部分创建的QPushButtons更新此布局.

每当出现的按钮需要更改时(这是相当频繁的),就会调用更新效果.从布局中删除现有按钮(通过调用layout.removeWidget(button),然后再调用button.setParent(None)),并将新按钮添加到布局中.

通常,这可行.但是有时候,当我调用按钮上的button.setParent(None)进行删除时,它将导致它弹出应用程序并开始浮动在其自己的独立框架中.

如何从布局中删除按钮并确保它不会开始浮动?

解决方法:

您应该调用按钮的close()方法.如果希望在关闭它时将其删除,则可以设置Qt.WA_DeleteOnClose属性:

button.setAttribute(Qt.WA_DeleteOnClose)
上一篇:算法 BF算法


下一篇:PyQt:QMessageBox之后退出QSystemTrayIcon程序