当前位置:  开发笔记 > 编程语言 > 正文

如何在QTreeWidget中找到所选项?

如何解决《如何在QTreeWidget中找到所选项?》经验,为你挑选了1个好方法。

我有一个继承QTreeWidget的类.如何找到当前选定的行?通常我会以这种方式将信号连接到插槽:

connect(myButton, SIGNAL(triggered(bool)), this, SLOT(myClick()));

但是,我找不到类似的东西QTreeWidget->QTreeWidgetItem.我找到的唯一方法是重新定义QTreeWidget类的mousePressEvent,如下所示:

void MyQTreeWidget::mousePressEvent(QMouseEvent *e){
    QTreeView::mousePressEvent(e);
    const QModelIndex index = indexAt(e->pos());
    if (!index.isValid())
    {
    const Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers();
    if (!(modifiers & Qt::ShiftModifier) && !(modifiers & Qt::ControlModifier))
    clearSelection();
    }
 }

我还没试过.是唯一的解决方案还是有更简单的方法?



1> Thomas Watne..:

尘土飞扬几乎是正确的.但是itemSelectionChanged信号不会告诉您选择了哪个项目.

QList QTreeWidget::selectedItems() const

会给你所选的项目.

因此,将一个槽连接到itemSelectionChanged信号,然后在树窗口小部件上调用selectedItems()以获取所选项目.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有