QTreeview C++プロジェクトで選択したツリービューアイテムのチェックボックスを設定するにはどうすればよいですか?選択したQTreeviewアイテムのチェックボックスを設定する
私の目標は、選択したTreeviewアイテムを繰り返し、チェックボックスの状態をtrueまたはfalseに設定することです。私はrighclickメニューからこれをやっています。私はちょうど選択されたアイテムを収集する方法を知らない。
すべてのアイテムをループしてチェックボックスをtrueまたはfalseに設定する関数を作成しましたが、選択したアイテムのみを設定する方法はわかりません。
void ShotsEditor::checkAll()
{
for (int i = 0; i < d->sourceModel->rowCount(); i++){
QStandardItem* item = d->sourceModel->item(i);
if (item->isCheckable())
{
item->setCheckState(Qt::Checked);
}
else{
if (item->hasChildren())
{
for (int j = 0; j < item->rowCount(); j++){
QStandardItem* item1 = item->child(j);
if (item1->isCheckable())
{
item1->setCheckState(Qt::Checked);
}
}
}
}
}
}
私がこだわっているところこれはこれは私がpysideでそれを行うだろうかです...
void ShotsEditor::checkSelected()
{
QModelIndexList selected = d->treeView->selectionModel()->selectedIndexes();
qDebug() << "selected indexes" << selected;
foreach (QModelIndex index, selected)
{
if (index.column()==0)
{
int row = index.row();
qDebug() << "row" << row;
}
}
}
です。私はC++
def set_checked(self):
indexes = self.treeview.selectedIndexes()
for i in indexes:
model = i.model()
item = i.model().itemFromIndex(i)
print i, model, item
if item.isSelectable():
item.setCheckState(QtCore.Qt.Checked)
あなたが選択したとはどういう意味ですか、あなたは私をしてください説明できます。 – eyllanesc
@eyllanescが質問を更なる情報で更新しました – JokerMartini
@JokerMartiniどのように選択しましたか? – Macias