QCheckbox: больше состояний, чем проверено и не проверено

Можно ли иметь больше состояний для QCheckbox чем Qt::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):
введите описание изображения здесь

Спасибо!

0

Решение

Я думаю, что вы ищете Qt::PartiallyChecked, описание этого говорит:

Товар частично проверен. Элементы в иерархических моделях могут быть частично проверены, если проверены некоторые, но не все их дочерние элементы.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]