我有一个QTableView的数据已以QStandardItemModel的形式加载

Parameter    Value

  X1         0.456
  X2         0.123
 .... and so on.

现在,我必须以一种只能遍历值而不遍历参数的方式来设置Tab Order属性。即当控件在0.456上并且如果我按“Tab”键,则它必须转到0.123而不是X2(默认行为)。另外,“参数”列中的“Edt触发器”已禁用,我只能更改值。

我知道QWidget::setTabOrder(QWidget *,QWidget *),但是由于我是通过QStandardItemModel设置数据的,所以我如何在QTableView中实现所需的Tab顺序?我正在使用Qt 4.4和Windows XP。我也没有使用Qt设计器来设计UI元素。一切都只通过代码。

最佳答案

子类QTableView并重写keyPressEvent。检查事件中的Tab键,否则调用基本实现。从 View 的选择模型中获取当前选择的索引。将 View 的edittrigger设置为CurrentChanged,或放置在您自己的QItemDelegate上以进行手动控制。

关于c++ - 在Qt 4.4中为QTableView设置选项卡顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2407098/

10-12 14:00