【问题标题】:PyQt4: Save input to variable without new dialog boxPyQt4:将输入保存到没有新对话框的变量
【发布时间】:2023-03-26 03:46:01
【问题描述】:

我必须说我对 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 按钮时,它都会打开一个新对话框,并且用户输入要保存在新对话框中的文本。本质上,我希望能够将getTextself.le 一起使用并将其保存到text 变量中,但我一直无法这样做。是否有任何直接的方法可以通过单击按钮将文本从 self.le 存储到 text 变量?还是直接保存到文件中?我正在运行 Python 2.7。

【问题讨论】:

    标签: python python-2.7 pyqt pyqt4


    【解决方案1】:

    如果你想将 QlineEdit self.le 的文本保存到一个文件中,你只需要使用这个

    text = self.le.text()

    所以你的 save_text 函数变成了

    def save_text(self):
        text, ok = self.le.text()   //basically access the QlineEdit self.le and use text() to access its text
        filename = QtGui.QFileDialog.getSaveFileName(self, 'Save File', '.')
        fname = open(filename, 'w')
        fname.write(self.le.setText(str(text)))
        fname.close()
    

    【讨论】:

    • 谢谢,我实际上只是想出了如何做我需要做的事情。
    【解决方案2】:

    好的,我找到了一种更简单的方法来完成我一直在尝试做的事情。代码如下:

    ...
    self.btn = QtGui.QPushButton('Save Text', self)
    self.btn.move(20, 20)
    self.btn.clicked.connect(self.save_text)
    
    self.te = QtGui.QTextEdit(self)
    self.te.resize(200,100)
    self.te.move(130,22)
    ...
    

    然后是函数:

    def save_text(self):
        text = self.te.toPlainText()
        filename = QtGui.QFileDialog.getSaveFileName(self, 'Save File', '.')
        fname = open(filename, 'w')
        fname.write(str(text))
        fname.close()
    

    【讨论】:

      猜你喜欢
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多