我正在使用 a QMainWindow
with QLineEdits
some and with some QPushButtons
in it。当焦点位于 a 时QLineEdit
(如果我在 中键入内容QLineEdit
)并且如果我按 F5 键,我想显示 a QDialog
。
QDialog
包含QTableView
一个. 我的问题是,当我按 F5 键时,我想将焦点从QLineEdit
'QTableView
单元格移动。我怎样才能做到这一点?
我正在使用 a QMainWindow
with QLineEdits
some and with some QPushButtons
in it。当焦点位于 a 时QLineEdit
(如果我在 中键入内容QLineEdit
)并且如果我按 F5 键,我想显示 a QDialog
。
QDialog
包含QTableView
一个. 我的问题是,当我按 F5 键时,我想将焦点从QLineEdit
'QTableView
单元格移动。我怎样才能做到这一点?
子类QLineEdit
和覆盖keyPressEvent()
以检测何时按下 F5 键,或在QLineEdit
.
如果您在关键事件处理期间创建并显示对话框,则对话框将自动接收事件焦点,并且对话框中接受焦点的第一个小部件将成为焦点小部件。因此,要么让QTableView
第一个小部件成为第一个小部件,要么使用setFocus()
.
如果对话框已经构建或者是一个已经打开的非模态对话框,则需要一个指向对话框的指针,以便在按下 F5 键时可以显示它/给它焦点。
如果你想移动到某个单元格中QTableView
你当然也需要知道与你的关联的单元格QLineEdit
。