QTableWidgetに基づいて既存のUIコンポーネントを取得し、そのうち2つをQTabWidgetページに配置します。最初のタブでテーブルにデータを入力し、ボタンを押して2番目のタブに移動し、最初のセルを編集モードにすることをユーザーに許可します。QTableWidgetItemを編集モードにするにはどうすればよいですか?
QTableWidgetのeditItemメソッドを使用して、指定されたQTableWidgetItemを編集しています。問題は、編集を中止するために何かが起きていることです(または、最初は決して開始しないかもしれません)。
editItemをもう一度呼び出すと失敗しますが、セルをクリックすると、セルがハイライト表示され、カーソルが点滅して編集モードになります。私はこれをプログラムで実行する方法があるかどうか疑問に思っていました。
1つのオプションは、タブキーを押してからシフトキーをシミュレートすることですが、これを実行できませんでした。私はタブをシミュレートすることができますが、Shiftモディファイアを追加しようとすると、通常のタブが生成されます。
これは動作します私のタブコードです:
QApplication::postEvent(tableWidget, new QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier));
これは動作しません、私のシフトタブコードです:
QApplication::postEvent(tableWidget, new QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier));
任意の提案をいただければ幸いです。