如何从PyQt5中的QMessageBox中删除图标?

约翰·奥尼尔

我正在尝试对一个消息框进行编码,该消息框会弹出并说出一些内容,并用一个按钮将其关闭,但是由于该框中只有少量文本,因此其左侧的图标/图像很大并且看上去很糟糕。我想知道如何删除它。我也无法制作自定义消息框。教程说,这是制作自定义消息框的方法:

box = QMessageBox()
box.setText('text')
box.addButton(QPushButton('Close', self))
box.exec_()

但是,这只是关闭我的程序并返回1。我当前的代码使用QMessageBox()的about方法:

box = QMessageBox().about(self, 'About', 'This is a test Program')

但是,它在文本窗口中有一个大图标,我似乎无法对框做其他任何事情,因为它只是停止了程序并再次返回1

我迫切需要一些体面的PyQt文档。除非使用C ++,否则似乎根本找不到太多文档。例如,我似乎找不到问题和关于QmessageBox的选项的任何其他信息。因此,如果有人也可以告诉我一些适当的文档在哪里,那将阻止我在这里问太多问题

VK

与其直接使用PyQt文档,不如直接使用Qt文档。您只需要将语言思维方式从Python切换到C ++,然后再切换即可。没有那么困难。:)参见例如http://doc.qt.io/qt-4.8/qmessagebox.html#addButtonhttp://doc.qt.io/qt-4.8/qmessagebox.html#about,我认为这是非常详细的文档,是其他大多数框架所无法比拟的。

请注意,存在三个替代addButton()从文档中看来,您要么需要传递两个参数box.addButton(QPushButton('Close', self), QMessageBox.RejectRole)(您忘记了角色!),要么更好,您可以使用使用标准按钮的替代,然后仅传递一个参数:box.addButton(QMessageBox.Close)

还有一个给您的提示:与,PySide相比PyQt,与PyQtPySide捕获异常,将其打印到控制台并继续运行相比与之相比我还发现调试程序更容易虽然PyQt通常只是默默地崩溃,但使您一无所知。大多数情况下,我使用的是Shims Qt.py https://pypi.python.org/pypi/Qt.py/0.6.9qtpy https://pypi.python.org/pypi/QtPy,以便能够从切换PyQtPySide开启苍蝇。它还允许轻松地Qt4Qt5绑定之间切换

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

pyqt5我想删除QTreeWidget中的箭头图标

如何使用pyqt5中的创建者在qmessagebox中显示变量

如何修复PyQT5中弹出消息的QtWidgets.QMessageBox中的“ TypeError ................”

PyQt5:澄清QMessageBox standardButtons中的connect()方法

如何在Pyqt5中删除QGraphicsItem

如何在PyQt5中删除Qlabel

从PyQt5中的QListWidget删除项目

在单元测试CI中模拟PyQt5 QMessageBox小部件中的按钮单击

在PyQt5中,弹出QMessageBox后,新的父级在不同的Qthread中

删除 QMessageBox 中按钮上的图标

如何使用PyQt5更改右箭头图标以访问QMenuBar中的隐藏菜单项?

如何从 gnome 面板 QML PyQt5 中隐藏正在运行的应用程序图标

在PyQt5中单击鼠标时如何更改图标

在PyQt5中使用QMessageBox重新启动游戏或退出应用程序

在Python 3.5.2和PyQt5中获取QMessageBox stderr消息

如何检测 PyQt5 中的碰撞

如何杀死PyQt5中的QRunnable?

在PyQt5中删除小部件时如何删除空白

如何在PyQt5中单击按钮时从表格中删除复选框?

如何在PyQt5中删除QGroupBox中的所有小部件?

如何从PyQt5中显示的Excel文件中删除数据并刷新它

pyqt5一个按钮如何删除它所在的QTableWidget中的一行

如何在pyqt5中删除单选按钮之间的空格

如何在pyqt5中删除单选按钮之间的空格

删除/禁用PyQt5中的关闭按钮

PyQt5删除Qlabel中不必要的空格

在PyQt5中删除动态创建按钮

PyQt5中的FocusReason?

PyQt5中的installEventFilter