2016-09-03 24 views
-1

QCheckboxの状態は、Qt::CheckedQt::Uncheckedより多くすることはできますか? 私はQTreeWidgetを持っています。項目がチェックされている場合、親に塗りつぶしチェックボックス(「子チェック」のようないくつかの状態)を表示し、子は「親チェック」のような状態にします。後者が達成するにはあまりにも複雑な場合は、通常のQt::Checkedもうまくいくと思います。しかし、どのように最初の達成するために?ここで私は現在、チェックボックスにアイテムを追加していどのように私のコードされていますQCheckbox:チェックされていない状態と確認されていない状態が多い

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をから撮影したスクリーンショット)を達成したい何のためにスクリーンショットです: enter image description here

ありがとうございました!

+5

Qt :: PartiallyCheckedについてはどうですか? – Fabio

+0

@Fabioありがとう!私はいつも "充実したqcheckbox"のためにgoogledし、そのようなものを見つけることができませんでした! :) – honiahaka10

+0

初めてQtでチェックボックスをチェックしたのは、Qt SDKインストーラの中でした。 :D – rbaleksandar

答えて

2

私はあなたがQt::PartiallyCheckedを探していると思いますが、それについての説明は言う:

項目が部分的にチェックされています。階層モデルの項目は、すべてではないが一部の子がチェックされているかどうかを部分的にチェックすることができます。

+1

ありがとうございました、私の投稿のコメントで既に述べたように:私は "充実したqcheckbox"を探していて、そんなことは見つけられませんでした。 – honiahaka10

関連する問題