存储PyQt4文本框中的字符串变量

2024-03-28 11:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我用qt设计器创建了一个小uic文件,以便使用PyQt4构建一个小gui。gui的一个元素是一个简单的textbox,在这里我设置了一个字符串值(textbox被称为RiskDate\ubox)。在GUI中设置这个值之后,我想在下面的代码中将它用作字符串变量(这里没有看到)。我的问题是,我无法存储它,在下面的代码中,我尝试了两种不同的方法(存储为Riskdate1和Riskdate2)。编译代码后,两个变量都是空的,不等于我在GUI中设置的值,例如“12.08.2012”。但是,如果我编译脚本,然后只编译

Riskdate2=window.RiskDate_Box.toPlainText()

然后,Gui中设置的Riskdate将作为字符串正确地分配给变量“Riskdate2”。如果有人能帮我解决这个问题就太好了。你知道吗

from PyQt4 import QtCore, QtGui, uic            
import sys

# Gui Code


qtCreatorFile = "untitled.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)

class MyWindow(QtGui.QDialog):
    def __init__(self):
        super(MyWindow, self).__init__()
        uic.loadUi("untitled.ui", self)              
        self.show() 
        self.RiskDate=self.RiskDate_Box.toPlainText()

if __name__ == '__main__':
   app=QtGui.QApplication.instance()
   app=0
   app = QtGui.QApplication(sys.argv)
   app.aboutToQuit.connect(app.deleteLater)
   window = MyWindow()
    #Try 1 to store variable
    Riskdate1=window.RiskDate
    # Try 2 to store variable
    Riskdate2=window.RiskDate_Box.toPlainText()
    sys.exit(app.exec_())

Tags: 字符串代码selfboxappsysguiwindow
1条回答
网友
1楼 · 发布于 2024-03-28 11:29:39

当QPlainTextEdit中的文本发生更改时,需要发送s信号

void QPlainTextEdit::textChanged()

This signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied.

你需要做一些类似的事情:

    self.RiskDate_Box.textChanged.connect(self.get_text)
    self.show() 

def get_text(self):
    self.RiskDate = self.RiskDate_Box.toPlainText())
    print (self.RiskDate)

enter image description here

相关问题 更多 >