1
QWidgetには、QFrameとラベルで囲まれた2つのリストボックスがあり、QWidgetに並べて配置されたQTウィジェットがあります。私はタブキーを使ってそれらの間を移動することができますが、左右の矢印キーを使って移動したいと思います。これを行う最善の方法は何ですか?PyQT5矢印キーを使用してリストボックス間でフォーカスを移動
マイQWidgetのとListWidgetsあなたがリストウィジェット上でイベントフィルタをインストールしてフォーカスを移動するために彼らの親ウィジェットのfocusNextPrevChild方法を使用することができ、次の
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
hbox = QHBoxLayout()
hbox.addWidget(Left())
hbox.addWidget(Right())
self.setLayout(hbox)
self.show()
class Left(QFrame):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
header = QLabel()
header.setText('Left')
l = QListWidget()
items = ['Item %s' % (i + 1) for i in range(10)]
l.addItems(items)
vbox = QVBoxLayout()
vbox.addWidget(header)
vbox.addWidget(l)
self.setLayout(vbox)
class Right(QFrame):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
header = QLabel()
header.setText('Right')
l = QListWidget()
items = ['Item %s' % (i + 1) for i in range(10)]
l.addItems(items)
vbox = QVBoxLayout()
vbox.addWidget(header)
vbox.addWidget(l)
self.setLayout(vbox)
def main():
app = QApplication(sys.argv)
main_window = MainWindow()
sys.exit(app.exec_())
if __name__ == '__main__':
main()