私のアプリケーションは 2 つのウィンドウ アプリケーションで、そのうちの 1 つは位置を変更し、SQL DB に追加されたポイントをマークでき、もう 1 つはマークされたポイントを表示できます。
私は を持ってQTableView
いQSqlTableModel
ます。モデルは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 または位置を確認することでした。しかし、それはひどいです。