wx-widget では、 を呼び出すことであらゆるイベントを元に戻すことができますVETO()
。
ここでは、QT で最初の GUI を実行しています。new
ノードを作成しましたtest case 3
。
ここで、この新しいノードを保存しない限り、ツリーの選択を変更できるようにしたいと考えています。このノードを一度も保存していない場合、選択の変更はこの保存されていないノードに戻る必要がありますtest case 3
。ノードを保存したことを示すために、グローバル変数シグナルを使用しています。
どうすれば達成できますか?
私はこのようなことを試みましたが、結果はありませんでした。
内部selection changed event handler
で新しいノード作成シグナルが設定されている場合、treewidget の選択を変更すると、treewidget の選択を treewidget の最後の項目に設定しようとしています。
QPoint prevPoint;
QModelIndex index;
int count = ui->treeWidgetLeft->topLevelItemCount();
//prevPoint.setX(currentXmlRootNodeNumber +1 );
prevPoint.setX(count);
prevPoint.setY(0);
index = ui->treeWidgetLeft->indexAt(prevPoint);
abortEvent = TRUE;
ui->treeWidgetLeft->selectionModel()->select(index ,QItemSelectionModel::Select);
そして、選択の開始時にイベントハンドラーが変更されたことを確認します。
if (abortEvent) {
abortEvent = false;
return;
}