手机版

Qt ModelView 学习笔记(18)

发布时间:2021-06-08   来源:未知    
字号:

qt相关资料

也可以通过响应currentChanged()信号来跟踪当前焦点项.对应的槽就有两个接收参数,一个表示之前的焦点,另一个表示当前的焦点。

void MainWindow::changeCurrent(const QModelIndex &current,

const QModelIndex &previous)

{

statusBar()->showMessage(

tr("Moved from (%1,%2) to (%3,%4)")

.arg(previous.row()).arg(previous.column())

.arg(current.row()).arg(current.column()));

}

更新选择

选择指令是通过选择标志提供的,它被定义在

QItemSelectionModel::SelectionFlag中。常用的有Select标记,Toggle标记,Deselect标记,Current标记,Clear标记,其意义一目了然。沿上面例子的结果执行以下代码:

QItemSelection toggleSelection;

topLeft = model->index(2, 1, QModelIndex());

bottomRight = model->index(7, 3, QModelIndex());

toggleSelection.select(topLeft, bottomRight);

selectionModel->select(toggleSelection,

QItemSelectionModel::Toggle);

结果如下:

缺省情况下,选择指令只针对单个项(由model indexes指定)。然而,选择指令可以通过与另外标记的结合来改变整行和整列。举例来说,假如你只使用一个index来调用select(),但是用Select标记与Rows标记的组合,那么包括那个项的整行都将被选择。看以下示例:

QItemSelection columnSelection;

topLeft = model->index(0, 1, QModelIndex());

bottomRight = model->index(0, 2, QModelIndex());

columnSelection.select(topLeft, bottomRight);

Qt ModelView 学习笔记(18).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)