1

ダブルクリックして特定のものを開き、シングルクリックしてアイテムの名前変更を開始したいQTreeWidgetがありますが、ダブルクリックしたときに両方のアクションが発生することを望んでいません。現在、ツリーアイテムをダブルクリックすると、アイテムが読み込まれ、アイテムの名前が変更されます。

次のステートメントを使用してQTreeWidgetを設定しています。

this->setEditTriggers(
    QAbstractItemView::EditKeyPressed
    | QAbstractItemView::SelectedClicked
);
connect(
    this, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)),
    this, SLOT(OnMouseDoubleClicked(QTreeWidgetItem*, int))
);

カスタムの読み込みアクションのみを実行したいので、アイテムをダブルクリックしたときにアイテムの名前変更/編集状態にならないようにするために、特定の方法はありますが、要素をシングルクリックしてもインプレース編集を維持します木?

4

1 に答える 1

1

実際に追加すると

this->setExpandsOnDoubleClick(false);

2つの問題を同時に修正します。最初にアイテムをダブルクリックすると、子のあるアイテムが自動的に展開されません。これは私たちが望んでいたことであり、最も重要なのは、アイテムがin-の状態にならないことです。名前の変更/エディションを配置します。

于 2011-12-08T20:19:08.517 に答える