問題タブ [qitemdelegate]

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 投票する
1 に答える
578 参照

python - QListViewのPyside QItemDelegates

PySide を使用して QListView のカスタム項目を作成するためのチュートリアルをインターネットで広く検索してきました。私は PyQt を使用していくつかの使用法を見つけましたが、私にとっては本当に奇妙だと思います。このWebアプリケーションのデスクトップバージョンを作成しているので、このリンクに表示されているリストのアイテムの外観をPySideを使用して再作成したいと思います。ヘルプ/アイデア/サンプル コードは大歓迎です。

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

qt - 編集状態で QTreeView/QTreeWidget アイテムのスタイルを設定する

アイテムQSS編集時に現れるラインエディットでスタイリングしたい。QTreeView/QTreeWidget

次に例を示します。

ここに画像の説明を入力

QTreeWidgetこれは、QTreeView::item { min-height: 25px; }スタイルが適用された標準です。

私の質問は、アイテムをダブルクリックしたときに表示される行編集をアイテム自体と同じサイズにすることは可能ですか? それとも、ピクセル単位の特定の高さですか?

注:これにはカスタム デリゲートを使用したくありませんQSS

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

qt - カスタム QStyledItemDelegate のような背景を描画します

テーブルがあり、qt ドキュメントの例に従ってカスタム デリゲートを追加しようとしています。ただし、行が選択されている場合、背景色は正しいように見えますが、オーバーレイが表示されていないように見えます (評価セルと行の残りの部分との間の青色の背景を持つ列の違いに注意してください)。標準デリゲートのように背景を描画する最も簡単な方法は何ですか?

QItemDelegateがあるようですが、 にはそのdrawBackgroundような機能はありませんQStyledItemDelegate。残念ながらdrawBackground、左のセルに表示されるわずかに明るい長方形 (背景よりも上下が 1 ピクセル小さい) も省略されています。

ここに画像の説明を入力

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

qt - テーブル内のデリゲートの Qt イベント

質問/問題

eventクリックを処理するカスタム デリゲートでメソッドを再実装しようとしました。デリゲートは、テーブル ビューでテーブル セルをレンダリングするために使用されます。ただし、デリゲートのイベントは取得されません (デバッガーによると、メソッドが呼び出されることはありません)。デリゲートがイベント (特に、マウスの出入り、クリック) を追跡できるようにするために、何か特別なことをする必要はありますか?

環境

テーブル セルの独自のデータ表現を作成したいと考えています。機能はボタンに近いはずですが、少し異なります。テーブルにボタンを実装するための2つのオプションは、パフォーマンスコストが高いと思われるセルウィジェットを設定するか(理由がよくわかりませんでした)、デリゲートを使用することです。

ボタンの動作とは異なる動作が必要なため、スピード神話のためにデリゲートを使用することにしました。

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

database - QTableView を使用した QSqlTableModel - 編集時に DB 定義の制約を考慮する

Oracle データベースを実装しました。アプリケーションの GUI と db のインターフェイスとして Qt を使用しています。データベースへの接続を設定し、QTableView にテーブルを表示すると正常に動作します。すべてのセルの編集は、通常、QSqlTableModel を使用してネイティブにサポートされています。ただし、関連付けられているデフォルトの ItemDelegate がセルを編集するときに、Qt はデータベースによって定義された制約を考慮していないようです。

外部キー値であるセルを編集すると、Qt ではキー値を入力できないだけでなく、これらの変更を送信して更新を実行するためにデータベースにクエリを実行するとします。設定された制約により、これは明らかに機能しません。ここで、ビューのデフォルトの ItemDelegate が編集時に有効な値をチェックすることを期待するには、質問が多すぎるかもしれないことがわかりました。

サポートされていない値を送信すると、実際の問題が発生します。ビューは引き続き値の変更を適用し、編集が有効であることを示します。エラーは処理されず、エラー メッセージも配信されません。そこから、制約に従う値への変更を元に戻すまで、ビューは一部の行の編集を許可しません。

データベースの制約に対して値の変更を検証するために、独自のitemDelegateをセットアップする必要があるとは信じがたいです。

この投稿に答えることができ、接続の設定方法を知っている人なら誰でもできると思うので、コードを少し分解します。

助けていただければ幸いです。ありがとう!