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

标签 python qt qt4 pyqt pyqt4

我正在开发 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/

相关文章:

python - 整数转二进制

python - 在 Django 中添加来自同一模型的两个外键字段

python - Perl中相当于$|=1的python是什么

c++ - C++ 中的线程池/队列系统

Qt:检测特定 QWidget 之外的 mousePressEvent

python - 从视频中测量裂纹的增长速度

c++ - Qt QMetaObjects 和从 QWidget 到 QObject 的转换

c++ - 正确使用 QProgressDialog

qt - 如何使用 QT QWebView 管理代理

c++ - 当 QFilesystemModel 显示驱动器时,可以在 QTreeView 中更改文件夹颜色吗?