問題タブ [qsqltablemodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
80 参照

qt - ビューにモデルのデータが表示されない

接続後、このコードを試してみましたが、データが表示されません

0 投票する
1 に答える
753 参照

c++ - setData は QAbstractProxyModel に対して false を返します

QAbstractProxyModel をサブクラス化し、そのソース モデルは QSqlTableModel のサブクラスです。プロキシ モデルは、一度にソース モデルの 1 つの行のみを表示する必要があります。コードは次のとおりです。

ソース モデル:

ソース モデルに新しい行を追加する必要がある場合は、次のコードが呼び出されます。

selectedRow は、ソース モデルの現在の行を保存するプライベート メンバーです。

setData() は常に false を返します。ソース モデルは手動送信に設定されています。私は何を間違っていますか?

編集:

私は問題を理解しました。私が使用するソース モデルは QSqlTableModel のサブクラスで、EditRole 以外のロールに対して QSqlQueryModel の setData を呼び出します。QSqlQueryModel 自体は setData を再実装しないため、常に false を返す QAbstractItemModel の setData を呼び出します。

そのため、すべての setData() 呼び出しを EditRole で行い、data() は EditRole に格納されているソース モデルから値を返します。

0 投票する
2 に答える
2223 参照

python - PyQt: QTableView + QSqlTableModel - 選択したすべての行または列をコピーしてメモ帳または Excel に貼り付ける

手始めに、ほぼ同様のテーマであるHereに関する ekhumoro のコードを既に見てきました。ただし、このコードを実装しようとすると、別の結果が得られます。選択したすべてをコピーして貼り付けるのではなく、選択した行の最初のセルのみをそれぞれコピーします。ユーザーが複数の行または列を選択して、それらの値を Excel またはメモ帳に貼り付けることができるようにする必要があります。何か案は?

GUI: ここに画像の説明を入力

コード:

0 投票する
1 に答える
24 参照

python-3.x - pyqt5 がバイトの挿入に失敗する

バイト オブジェクトをデータベースに挿入する方法を教えてください。これを試みるたびに、空の文字列 (NULL ではない) が挿入されます。

この問題はメーリング リストで指摘されましたが、対処されることはありませんでした。 https://www.riverbankcomputing.com/pipermail/pyqt/20 ​​16-April/037260.html また、可能な場合は、準備済みステートメントの代わりにテーブル モデルを使用する方が理にかなっていることがわかります (彼は pyqt のバグにも言及しました)。 exec() と exec_() に関して。