1

私のアプリケーションは 2 つのウィンドウ アプリケーションで、そのうちの 1 つは位置を変更し、SQL DB に追加されたポイントをマークでき、もう 1 つはマークされたポイントを表示できます。

私は を持ってQTableViewQSqlTableModelます。モデルはt_point、次の列を持つ名前のテーブルに接続されています。

  • ID 整数 PRIMARY KEY
  • 位置整数

私がやりたいことは次のとおりです。一方のウィンドウでテーブルをクリックすると、もう一方のウィンドウの位置に自動的に移動します。(これは行われます)

QTableView位置を移動し、最も近い位置のアイテムを自動的に選択します。これが取引です。私はそれを迅速かつきれいに行いたいです。QSqlQueryしたがって、次のクエリでa を使用して最も近いアイテムを取得します。

QString("SELECT position FROM t_point ORDER BY ABS(position - %1);").arg(actualPosition);

そして、ポイントからの距離でそれらを並べ替えますquery.next().2つの値を使用して取得します. インデックスと位置。

QTableViewでは、この値に合わせて行を選択するにはどうすればよいですか?

列が無いので使えselectRow( int row ) from QTableViewません、鍵と位置を取得しました...

私が得た唯一の解決策は、モデル上の自分の ID または位置を確認することでした。しかし、それはひどいです。

4

0 に答える 0