0

是否有可能有QCheckboxQt::Checked和更多的状态Qt::Unchecked?我有一个QTreeWidget,如果选中了一个项目,我希望父级显示一个填充的复选框(某些状态,如“子级选中”),然后子级应该有一个状态,如“父级选中”。如果后者太复杂而无法实现,我认为正常Qt::Checked也可以正常工作。但是如何实现第一个呢?这是我当前如何添加带有复选框的项目的代码:

QTreeWidgetItem* Options::folderMonitoringCreateTreeCheckbox(QDir *dir, bool state, QTreeWidget *parent)
{
    QString text = dir->absolutePath().section('/', -1, -1, QString::SectionSkipEmpty);    

    QTreeWidgetItem *newItem = new QTreeWidgetItem(parent);
    newItem->setText(0,text);
    newItem->setFlags(newItem->flags() | Qt::ItemIsUserCheckable);
    newItem->setCheckState(0, Qt::Unchecked);
    newItem->setToolTip(0, dir->absolutePath());    
    return newItem;
}

这是我想要实现的屏幕截图(来自 MediaMonkey 的屏幕截图): 在此处输入图像描述

谢谢!

4

1 回答 1

3

我认为您正在寻找Qt::PartiallyChecked,它的描述说:

该项目已部分检查。如果检查了部分但不是全部的子项,则可以部分检查分层模型中的项目。

于 2016-09-03T12:31:10.753 回答