QTreeView 小问题

使用如下代码:

connect(ui->treeView,SIGNAL(doubleClicked(const QModelIndex & index)),model,SLOT(itemSelected(const QModelIndex & index)));

按照文档应该没有问题,可是报错如下

Object::connect: No such signal QTreeView::doubleClicked(const QModelIndex & index) in...

后来到网上找到一篇文章,
http://qt4-x11.sourcearchive.com/documentation/4.1.2/classQTreeWidget_bff7ec30b95f987290aca04f4817ce07.html


QTreeWidget::QTreeWidget(QWidget * parent = 0 ) [explicit]

Constructs a tree widget with the given parent.

Definition at line 1798 of file qtreewidget.cpp.

References QAbstractItemView::activated()QAbstractItemView::clicked()QTreeView::collapsed()QObject::connect()QAbstractItemView::currentChanged(),QTreeView::dataChanged()QAbstractItemView::doubleClicked()QAbstractItemView::entered()QTreeView::expanded()QTreeView::header(),itemSelectionChanged()QAbstractItemView::model()QAbstractItemView::pressed()QAbstractItemView::selectionChanged(),QAbstractItemView::selectionModel()QHeaderView::setClickable(), and QTreeView::setModel().

    : QTreeView(*new QTreeWidgetPrivate(), parent)
{
    QTreeView::setModel(new QTreeModel(0, this));
    // view signals
    connect(this, SIGNAL(pressed(QModelIndex)), SLOT(emitItemPressed(QModelIndex)));
    connect(this, SIGNAL(clicked(QModelIndex)), SLOT(emitItemClicked(QModelIndex)));
    connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(emitItemDoubleClicked(QModelIndex)));
    connect(this, SIGNAL(activated(QModelIndex)), SLOT(emitItemActivated(QModelIndex)));
    connect(this, SIGNAL(entered(QModelIndex)), SLOT(emitItemEntered(QModelIndex)));
    connect(this, SIGNAL(expanded(QModelIndex)), SLOT(emitItemExpanded(QModelIndex)));
    connect(this, SIGNAL(collapsed(QModelIndex)), SLOT(emitItemCollapsed(QModelIndex)));
    // selection signals
    connect(selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
            this, SLOT(emitCurrentItemChanged(QModelIndex,QModelIndex)));
    connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)),
            this, SIGNAL(itemSelectionChanged()));
    // model signals
    connect(model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)),
            this, SLOT(emitItemChanged(QModelIndex)));

    header()->setClickable(false);
}


改成

connect(ui->treeView,SIGNAL(doubleClicked(QModelIndex)),model,SLOT(ReadItem()));


void ReadItem(const QModelIndex & index = QModelIndex());
就OK了。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值