2013-06-01 2 views
0

Мне нужно взять число, набранное в объект QLineEdit, и назначить его переменной x при нажатии клавиши ввода. Как я могу это сделать с помощью нового механизма сигналов и слотов, который был реализован в Qt 4.5?как назначить значение изменения строки переменной при нажатии клавиши ввода

import sys 
from PyQt4 import QtGui 

class Example(QtGui.QWidget): 

    def __init__(self): 
     super(Example, self).__init__() 

     self.initUI() 

    def initUI(self): 
     data1 = QtGui.QLineEdit('', self) 
     data1.move(10, 13) 

     self.setGeometry(300, 300, 250, 45) 
     self.setWindowTitle('Absolute')  
     self.show() 

def main(): 
    app = QtGui.QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 

ответ

2

Вы можете сделать это с помощью EventFilter:

Пример:

class eventFilter(QtCore.QObject): 

    def eventFilter(self, obj, event): 
     if event.type() == QtCore.QEvent.KeyPress: 
      print 'Key: %s' % event.key() 

     return obj.eventFilter(obj, event); 

и установить его в lineedit

filter = eventFilter(data1) 
data1.installEventFilter(filter) 

ПРИМЕЧАНИЕ:

не забывайте импортировать QtCore модуль

Смежные вопросы