PyQt5 KeyPressEvent 가 동작을 않해요..

조회수 2413회
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'C:\Users\USER\Desktop\PyQt5_ui\Tetris_v0.0.3t.ui'
#
# Created by: PyQt5 UI code generator 5.9.2
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.QtCore import QCoreApplication



class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(431, 737)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label_Test = QtWidgets.QLabel(self.centralwidget)
        self.label_Test.setGeometry(QtCore.QRect(140, 340, 16, 16))
        self.label_Test.setObjectName("label_Test")
        self.label_Test.raise_()
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 431, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_Test.setText(_translate("MainWindow", "■"))

    def KeyPressEvent(self,e):
        if e.key() == Qt.Key_Left:
            super(Ui_MainWindow, self).keyPressEvent(MainWindow.event)
            self.label_Test.setText(self._translate("MainWindow", "left"))



if __name__ == "__main__":
    import sys
    app = QCoreApplication.instance()
    if app is None:
        app = QApplication(sys.argv)
    #app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

테트리스를 만들려고하는데 우선 네모를 방향키로 움직여보려고합니다. 근데 예제를 살펴보니까 KeyPressEvent로 받아서 하는거 같은데 작동을 안하네요..

KeypressEvent가 어떻게 작동하는지도 궁금합니다. KeyEvent의 경우 Thread로 계속해서 받고 있는건지..

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)