2013-06-01 52 views
0

我需要將輸入的數字輸入到QLineEdit對象中,並在按下Enter鍵時將其分配給變量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模塊

相關問題