0

我正在使用 a QMainWindowwith QLineEditssome and with some QPushButtonsin it。当焦点位于 a 时QLineEdit(如果我在 中键入内容QLineEdit)并且如果我按 F5 键,我想显示 a QDialog

QDialog包含QTableView一个. 我的问题是,当我按 F5 键时,我想将焦点从QLineEdit'QTableView单元格移动。我怎样才能做到这一点?

4

1 回答 1

1

子类QLineEdit和覆盖keyPressEvent()以检测何时按下 F5 键,或在QLineEdit.

如果您在关键事件处理期间创建并显示对话框,则对话框将自动接收事件焦点,并且对话框中接受焦点的第一个小部件将成为焦点小部件。因此,要么让QTableView第一个小部件成为第一个小部件,要么使用setFocus().

如果对话框已经构建或者是一个已经打开的非模态对话框,则需要一个指向对话框的指针,以便在按下 F5 键时可以显示它/给它焦点。

如果你想移动到某个单元格中QTableView你当然也需要知道与你的关联的单元格QLineEdit

于 2015-04-28T20:06:03.313 回答