【发布时间】:2018-04-30 22:37:45
【问题描述】:
我有一个根据用户输入生成的列表。
我正在尝试在 QMessageBox 中显示此列表。但是,我无法知道这个列表的长度。清单可能很长。
因此,我需要在 QMessageBox 中添加一个滚动条。
有趣的是,我到处寻找,但没有找到任何解决方案。
下面是,我希望是一个“最小、完整和可验证的例子”,当然没有用户输入;我刚刚创建了一个列表作为示例。
感谢任何建议。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class W(QWidget):
def __init__(self):
super().__init__()
self.initUi()
def initUi(self):
self.btn = QPushButton('Show Message', self)
self.btn.setGeometry(10, 10, 100, 100)
self.btn.clicked.connect(self.buttonClicked)
self.lst = list(range(2000))
self.show()
def buttonClicked(self):
result = QMessageBox(self)
result.setText('%s' % self.lst)
result.exec_()
if __name__ == "__main__":
app = QApplication(sys.argv)
gui = W()
sys.exit(app.exec_())
【问题讨论】:
-
我不认为 QMessageBox 足够灵活以允许这样做。您可能必须使用包含 QScrollArea 的更通用的 QDialog。
标签: python pyqt pyqt5 qmessagebox