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

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

最佳答案

使用itemClicked()信号将丢失使用键盘进行的任何选择更改。我认为这对您来说是一件坏事。

07-27 19:05