PyQt中的getText() - 真的需要复杂吗?
我正在阅读关于使用PyQt的说明,但我没有找到我需要的那些看起来很基础的信息。
我需要一个小部件。一个基本的小部件。我只想提示用户输入一些文本,并把这些文本保存为字符串。
report_title = QInputDialog.getText(QLineEdit(), QString('Report Title:'))
TypeError: arguments did not match any overloaded call:
QInputDialog.getText(QWidget, QString, QString, QLineEdit.EchoMode mode=QLineEdit.Normal, QString text=QString(), Qt.WindowFlags flags=0) -> (QString, bool): not enough arguments
QInputDialog.getText(QWidget, QString, QString, QLineEdit.EchoMode, QString, Qt.WindowFlags, Qt.InputMethodHints) -> (QString, bool): not enough arguments
编辑 在代码块中放置了错误
2 个回答
0
这里有一些例子:http://pyqt.sourceforge.net/Docs/PyQt4/qinputdialog.html
虽然这些例子是用C++写的,但用Python的时候也差不多。你在调用getText()这个方法时,需要指定更多的参数。
3
关于getText
这个函数的说明,告诉我们至少有三个必须提供的参数。它们分别是:
- 父窗口(和往常一样)
- 窗口的标题
- 标签,也就是给用户的提示。这个文本会显示在对话框窗口里,输入框旁边。
举个例子:
report_title = QInputDialog.getText(someWindow, 'New report', 'Report title:')
你可以直接用普通的Python字符串作为QString
,所以不需要写成QString('Modify report')
这种形式。