この問題は質問Making only one column of a QTreeWidgetItem editableの重複ではないことを念頭に置いてください。QTreeWidgetの1列のみを編集可能にする//
こんにちは、私はtreeWidgetの1つの列を編集可能にしたいだけです。
propertyItems.push_back(new QTreeWidgetItem); //gets filled by the while-loop
propertyItems[propertyItems.size()-1]->setText(0, prop.name); //sets the text of the item
propertyItems[propertyItems.size()-1]->setText(1, prop.value);//set the text of the other item
propertyItems[propertyItems.size()-1]->setFlags(Qt::ItemIsEditable);
ui->treeWidget_3->insertTopLevelItem(ui->treeWidget_3->topLevelItemCount(), propertyItems[propertyItems.size()-1]); //appends the items
counter ++;
と
void MainWindow::onTreeWidget3ItemDoubleClicked()
{
if (ui->treeWidget_3->currentColumn() == 2) {
ui->treeWidget_3->editItem(ui->treeWidget_3->currentItem(), ui->treeWidget_3->currentColumn());
}
}
私のアプローチです。 ontreeWidget3ItemDoubleClicked
はtreeWidget::doubleClicked
、treeWidget_3はNO edit-triggers
ですが、私がプログラムを実行すると、QTreeViewはグレー表示になります。
前記、私も
propertyItems[propertyItems.size()-1]->setFlags(propertyItems[propertyItem.size()].flags | Qt::ItemIsEditable);
を試してみましたtreeWidget_3
が、私はこの問題を解決するにはどうすればよい...
をもうオフグレー表示が、それはまだ編集できないではないですか?
BTW:私はQtの新作ですので、何かを忘れてしまったかもしれません。この場合は申し訳ありません。
言い換えれば、他の質問で受け入れられた解決策はこれに答えますが、独自のモデルを使用するには、 'QTreeWidget'から' QTreeView'に変更する必要があります。 – cbuchart
ok、ありがとう;)それは今働きます – ThefrenchSpeedruns
あなたを助けてうれしい! – cbuchart