2016-09-05 61 views
0

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));

任意の提案をいただければ幸いです。

答えて

0

それは

が、私はこれが私たちのために仕事をすると思うだろうが...実際にはQt :: Key_Backtabではなく、私が予想していたように、シフト修飾子とQtの:: Key_Tabとして報告されたシフト・タブのように見えますより良い解決策を歓迎します。

関連する問題