我必须说我对 PyQt4 模块还是很陌生,所以这个问题可能非常明显。但是,我花了很长时间尝试解决这个特定问题并且已经没有想法了。
到目前为止,这是我的代码:
...
self.btn = QtGui.QPushButton('Save Text', self)
self.btn.move(20, 20)
self.le = QtGui.QLineEdit(self)
self.le.move(130, 22)
self.btn.clicked.connect(self.save_text)
...
然后是函数:
def save_text(self):
text, ok = QtGui.QInputDialog.getText(self, 'Input', 'Type text:')
filename = QtGui.QFileDialog.getSaveFileName(self, 'Save File', '.')
fname = open(filename, 'w')
fname.write(self.le.setText(str(text)))
fname.close()
这段代码工作正常,但我正在尝试改进它。我想要做的是将主窗口输入字段(self.le
)中的文本直接保存到文件中。目前,每当Save Text
按下按钮时,它都会打开一个新对话框,并且用户输入要保存在新对话框中的文本。本质上,我希望能够getText
与 the一起使用并将其self.le
保存到text
变量中,但我一直无法这样做。是否有任何直接的方法可以通过单击按钮将文本从变量存储self.le
到变量?text
还是直接保存到文件中?我正在运行 Python 2.7。