如何动态地从QLineEdit获取文本?

时间:2016-05-17 07:59:46

标签: python pyqt pyside qlineedit

如何从String(Text)获取QlineEdit? 我试过这样的。 myArea.getList()函数是获取字符串值并使用字符串值检查数据库并返回List

self.a = QLineEdit()
self.b = QlineEdit()
....

self.b = self.myArea.getList(str(self.a.textChanged.connect(self.textchanged)))

def textchanged(self, text):
    self.my_edit = text

a中输入文字,然后a更改。阅读a,按a检查数据,b创建的数据,b中的输入文字,阅读b,按{{检查数据1}}

首先,我不知道如何获得b的价值。 print QLineEdit()文本有效但返回String。

1 个答案:

答案 0 :(得分:2)

以下是如何从self.aself.b获取值并将值相互设置的完整示例。也许这个tutorial也可以帮助你。

您不能使用方法self.textchangedAself.textchangedB的返回值,因此您必须使用该类的成员变量。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import logging
import sys
from PyQt4 import QtGui

log = logging.getLogger(__name__)


class MyWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)

        vbox = QtGui.QVBoxLayout(self)
        self.setLayout(vbox)

        self.a = QtGui.QLineEdit(self)
        self.b = QtGui.QLineEdit(self)

        vbox.addWidget(self.a)
        vbox.addWidget(self.b)

        self.a.textChanged.connect(self.textchangedA)
        self.b.textChanged.connect(self.textchangedB)

    def textchangedA(self, text):
        log.info("Text from a: %s", text)
        log.info("Text from b: %s", self.b.text())
        # do the processing

    def textchangedB(self, text):
        log.info("Text from b: %s", text)
        log.info("Text from a: %s", self.a.text())



def test():
    app = QtGui.QApplication(sys.argv)
    w = MyWidget()
    w.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    logging.basicConfig(level=logging.DEBUG)
    test()