0

QTableView のインスタンスがあります。選択した行のデータを編集するダイアログを開きたいです。ポップアップメニューまたはショートカットからコマンドを使用すると期待どおりに動作しますが、ダブルクリックを使用してダイアログを表示すると、ダイアログ内をクリックするまでマウス移動イベントがスキップされます。2回目のクリックからのマウスアップイベントが、メインウィンドウではなくダイアログに誤って送信されていると思います。

現在、私は次のハックを使用しています:

void MainWindow::on_tableView_doubleClicked ( const QModelIndex& )
{
    QTimer::singleShot ( 100, this, SLOT ( on_macEdit_triggered() ) );
}

100 ミリ秒の遅延トリガーにより、ダブルクリック イベントが作業を完了するのに十分な時間が与えられ、マウス移動イベントが動作するダイアログが表示されます。

この問題を解決するより良い方法はありますか?

4

0 に答える 0