2016-05-17 135 views
-1

怎么能得到QLineEdit的字符串(文字)? 我试过像这样。如何动态地从QlineEdit获取字符串(文本)?

myArea.getList()函数获取字符串值和字符串值查询数据库,并返回列表

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 - > b的数据创建 - >在b中输入文本 - >读取b - >通过b检查数据

首先,我不知道如何获得(返回)QLineEdit()值... 打印文本QLineEdit的作品,但返回字符串..这么难..

帮助我...

+0

我不明白。什么是“my_edit”和“myArea”?你只需要返回textchanged函数中的值。 'def textchanged(self,text):return text' –

回答

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() 
+0

谢谢..但是我怎样才能使用返回值?它只使用print'values'而不是'values'。所以我的意思是当我添加新的self.aReturn = self.textcahngedA - > print self.aReturn - >打印出无/如果我self.aRetunr = self.a .textChanged.connect(self.textchangedA) - >只是约束方法的内存地址priting出 –

+0

我真的超级谢谢!但是..我不知道如何独立获得self.a的字符串值了textchangedA方法的......我的意思是提取QLineEdit的的字符串值,并且使用这个值作为类独立的价值。不只是打印出 –

+0

用'self.a.text()'你得到的字符串值,并用'self.b.text()'你得到B的字符串值。你是这个意思吗? – salomonderossi

相关问题