PyQt从类中返回空字符串?

时间:2011-10-14 02:01:28

标签: python pyqt

代码如下:

class Solver(QDialog):
    def __init__(self, parent=None):
        blabla

    def solver(self):
        return qlineedit1.text()

class access(QMainWindow):
    prda = Solver().solver()
    print prda

问题是prda是一个空字符串。如果我在Solver类中放入“print qlineedit1.text()”,则文本显示为应该的样子。但是,当“转移”到另一个类时,该字符串为空。它最奇怪的部分 - 如果我输入(prda),我得到QString类型的输出。

那么,我如何让prda假设qlineedit1.text()的值?我正在考虑将文本写入Solver类中的文件,然后从访问类中读取它,但必须有另一种解决方案。顺便说一句,Solver类和访问类是两个对话框。

帮助?

1 个答案:

答案 0 :(得分:0)

由于下一代码按预期工作,所以我可以在没有看到更多代码的情况下思考,qlineedit1是空的。

from PyQt4 import QtGui


class Solver(QtGui.QDialog):
    def __init__(self, parent=None):
        print "in Solver init"

    def solver(self):
        return "in solver() method"

class access(QtGui.QMainWindow):
    prda = Solver()
    print prda.solver()
    #this will work too:
    #prda = Solver().solver()
    #print prda

if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)

    acc=access()
    acc.show()

    sys.exit(app.exec_())