私はqtreewidget
チェック可能なアイテムを持っています。状態をチェックするか、または何らかの値に基づいていない状態に変更したいのですが、最初にアイテムを作成toplevelitems
してチェックを外すように設定すると機能しますが、その後コード内でチェックしたい場合はチェックされますただし、チェックボックスが表示されているときはチェックされていません。初めてsetstateコードは次のとおりです。
for(int i = 0; i < PermisionDataBase.allEvents().size(); i++) {
m_eventList->addTopLevelItem(new QTreeWidgetItem);
m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1)->setText(0, PermisionDataBase.allEvents().keys()[i]);
m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1)->setCheckState(0, Qt::Unchecked);
}
しかし、私がそれをチェックした後、それはチェックされません
for(int j = 0; j < m_eventList->topLevelItemCount(); j++) {
m_eventList->topLevelItem(j)->setCheckState(0, Qt::Checked);
そして、if句でこのアイテムをチェックし、それらがチェックされていることを確認しましたが、アイテムが表示されていない場合、mt if句コード:
for(int j = 0; j < m_eventList->topLevelItemCount(); j++) {
if(m_eventList->topLevelItem(j)->checkState(0) == Qt::Checked)
qDebug() << m_eventList->topLevelItem(j)->text(0);
}
何が悪いのか知っていますか?前もって感謝します