2017-12-19 2 views
0

키보드 키를 입력하여 QPushButton ("click")을 누르면 어떻게 (on_click)을 만들 수 있습니까? 그것은 단지 mouse_clickEnter 키로 함수 호출

import sys 
from PyQt5.QtWidgets import * 

class Example(QMainWindow): 

    def __init__(self): 
     super().__init__() 
     self.initUI() 

    def initUI(self): 

     self.label = QLabel("",self) 
     self.label.move(100, 100) 

     self.button = QPushButton('click', self) 
     self.button.move(100, 50) 
     self.button.clicked.connect(self.on_click) 

     self.setGeometry(500, 150, 200, 200) 
     self.show()  

    def on_click(self): 
     self.label.setText("Hello") 

if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 
+0

당신이 키보드의 Enter 키를 누를 때 않게합니다 함수가 호출 될 하시겠습니까? – eyllanesc

+0

예, 가능합니까? – gin

+0

제목이 부적절합니다. 버튼과 상호 작용할 필요가 없기 때문입니다. – eyllanesc

답변

0

와 상호 작용 당신은 keyPressEvent 방법을 덮어 쓸 수 있습니다

import sys 
from PyQt5.QtWidgets import * 
from PyQt5.QtCore import * 

class Example(QMainWindow): 

    def __init__(self): 
     super().__init__() 
     self.initUI() 

    def initUI(self): 

     self.label = QLabel("",self) 
     self.label.move(100, 100) 

     self.button = QPushButton('click', self) 
     self.button.move(100, 50) 
     self.button.clicked.connect(self.on_click) 

     self.setGeometry(500, 150, 200, 200) 
     self.show()  

    def on_click(self): 
     self.label.setText("Hello") 

    def keyPressEvent(self, event): 
     if event.key() == Qt.Key_Return: 
      self.on_click() 


if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 
+0

Brilliant! 너 너무 참 고맙다. – gin