gpt4 book ai didi

c++ - 如何在 QTreeWidget 中找到选定的项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:52:24 24 4
gpt4 key购买 nike

我有一个继承 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();
}
}

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

最佳答案

Dusty 几乎是正确的。但是 itemSelectionChanged 信号不会告诉您选择了哪个项目。

QList<QTreeWidgetItem *> QTreeWidget::selectedItems() const

会给你选择的项目。

因此,将槽连接到 itemSelectionChanged 信号,然后调用树形小部件上的 selectedItems() 以获取所选项目。

关于c++ - 如何在 QTreeWidget 中找到选定的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/334952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com