我的 QMessageBox 太短了。
我尝试过各种增加高度的方法,例如resize、setMinimumHeight、setSizeIncrement + setSizeGripEnabled,但这些尝试都不起作用。设置 SizeGrip 根本不允许我调整窗口大小。
dialog = QMessageBox(self)
dialog.setWindowTitle('About this programme')
dialog.setText('Introductory text')
dialog.setDetailedText('A bunch more text')
dialog.setMinimumHeight(500)
dialog.setSizeIncrement(1, 1)
dialog.setSizeGripEnabled(True)
dialog.show()
Run Code Online (Sandbox Code Playgroud)
作为图片参考,标记为 Rotascript 的窗口大小为 360x、370y。
我做错了什么,或者这是某种错误?
提前致谢。
你没有做错任何事。QMessageBox众所周知,调整大小非常困难。
通常,人们使用以下三种方法之一:
与换行符一起使用setText()而不是setInformativeText()
消息框将根据该setText()方法设置的文本调整大小。这很hacky,但你可以简单地在 中包含一堆空格setText()。
尝试覆盖的布局QMessageBox
这包括摆弄setFixedSize或覆盖小部件的event方法。这是相关 SO 帖子中的一个很好的例子。
重新实现QMessageBox
的一个基本属性QMessageBox是它不会调整大小。因此,通过向后逻辑,如果您想要一个可调整大小的消息框,那么您实际上不需要消息框。然而,QMessageBox继承自QDialog. 您也许能够通过在继承链中上升一个级别并重新实现您想要的QDialog.
以下资源为我的回应提供了信息:
| 归档时间: |
|
| 查看次数: |
9257 次 |
| 最近记录: |