48403


pyqt5で矢印キーをショートカットキーに使いたいです。次は試しに書いてみたコードです。

[code]

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    
    
    class Example(QMainWindow):
    
        def __init__(self):
            super().__init__()
    
            self.initUI()
    
    
        def initUI(self):      
    
            btn1 = QPushButton("Button 1",self)
            #btn1 = QPushButton(QFont("Button 1",20), self)
            #btn1.setFont(QFont("Button 1",15))
            btn1.move(30, 50)
            btn1.setShortcut("Ctrl+W")
    
            btn2 = QPushButton("Button 2", self)
            btn2.move(150, 50)
            btn2.setShortcut("<KeyPress-Right>")
    
            # クリックされたらbuttonClickedの呼び出し
            btn1.clicked.connect(self.buttonClicked)            
            btn2.clicked.connect(self.buttonClicked)
    
            self.statusBar()
    
            self.setGeometry(300, 300, 290, 150)
            self.setWindowTitle('Event sender')
            self.show()
    
    
        def buttonClicked(self):
    
            # ステータスバーへメッセージの表示
            sender = self.sender()
            self.statusBar().showMessage(sender.text() + ' was pressed')
    
    
    if __name__ == '__main__':
    
        app = QApplication(sys.argv)
        ex = Example()
        sys.exit(app.exec_())
    
[/code]

これを実行すると次のようなGUIが作成されます。ボタンを押すと下のテキストが変わります。  
[![画像](https://i.stack.imgur.com/xGyn1.png)](https://i.stack.imgur.com/xGyn1.png)  
ここで、btn2のショートカットキーを右矢印になるように書いてみたつもりでしたが、右矢印を押しても実行されません。どのように描けばよいのでしょうか。


CC BY-SA 4.0
2018-09-14T13:21:40.317
48401
2018-09-14T17:51:16.940
2018-09-14T17:51:16.940
26529
26529
question
python python3 pyqt5
pyqt5で矢印をショートカットキーに使いたい


`setShortCut`の引数に`Qt.Key_Right`を指定すると期待通りの動作をすると思います。  
いかがでしょうか?

[code]

        btn2.setShortcut(Qt.Key_Right)
    
[/code]


CC BY-SA 4.0
2018-09-14T15:01:39.590
48403
2018-09-14T15:01:39.590
20098
48401
answer