QT开发中文网

QTreeView 关联QAbstractItemModel 双击不能跳转

当 QTreeView 和 QAbstractItemModel 关联后,双击不能跳转可能是因为没有正确地设置 QTreeView 的信号和槽。在 QTreeView 中,双击触发的信号是 doubleClicked,可以通过连接该信号和自定义槽函数实现双击跳转的功能。

下面是一个例子,其中 model 是一个 QAbstractItemModel 派生类的指针,view 是一个 QTreeView 对象:

connect(view, &QTreeView::doubleClicked, this, &MainWindow::onDoubleClick);

void MainWindow::onDoubleClick(const QModelIndex &index)
{
    if (index.isValid()) {
        view->expand(index);
        view->scrollTo(index, QAbstractItemView::PositionAtCenter);
    }
}

这里将 QTreeView 的 doubleClicked 信号连接到了一个自定义的槽函数 onDoubleClick,并且在该槽函数中使用 expand 方法展开选中的项,使用 scrollTo 方法将视图滚动到选中项的中心位置。

注意,在该例子中,MainWindow 继承自 QObject,所以可以直接将其作为连接函数的参数,如果你的类不是 QObject 的子类,则需要先将该类对象注册为元类型,再进行连接操作。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=995

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?