環境:
Mac OS X(High Sierra)
Python 3.6.1 :: Anaconda custom (64-bit)
pyqt: stable 5.10.1 (bottled) :brewでインストール
現象:
Mac OS X(High Sierra)のPyqt5でGUIを作る際に矢印キーの入力を取得しようしたが、keyPressEventが発生しないで入力を検知できない。
他の入力キーの場合は検知できます。
もしかするとMac特有または構築環境による現象の可能性があると考えており、解決方法がなければhjklキーで移動も考えていますが、良い解決方法があれば、アドバイスいただければありがたいです。
Python
1#!/usr/bin/env python 2from PyQt5.QtWidgets import (QApplication, QWidget, QComboBox, QDialog, 3 QDialogButtonBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout, 4 QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QSpinBox, QTextEdit, 5 QVBoxLayout, QGraphicsView, QGraphicsScene, QGraphicsItem, QGraphicsPixmapItem) 6from PyQt5.QtGui import (QIcon, QPixmap, QBrush, QPen, QColor) 7 8from PyQt5 import (QtCore , QtGui) 9from PyQt5.QtCore import (QLineF, QPointF, QRectF, Qt, QTimer) 10 11from PIL import Image, ImageDraw 12 13from glob import glob 14import sys 15import os 16import re 17import cv2 18class MainWindow(QWidget): 19 20 def __init__(self,parent=None): 21 super(MainWindow, self).__init__(parent) 22 #〜省略〜keyPressEventを追加する前は実行できている. 23 24 #key取得するkeyPressEventの関数 ここができない. 25 def keyPressEvent(self, e): 26 27 pressed = e.key() 28 print("test") #ここでeventが実行できてるか確認. 29 print(pressed) #keyの値確認. 30 #〜省略〜 31 32if __name__ == '__main__': 33 app = QApplication(sys.argv) 34 P = MainWindow() 35 P.show() 36 sys.exit(app.exec_()) 37
あなたの回答
tips
プレビュー