問題タブ [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 に答える
2236 参照

qt - QItemDelegate の paint() 関数で項目が選択されているかどうかを判断するにはどうすればよいですか?

QItemDelegate を使用してテーブルを作成しています。paint(..) メソッドを使用して、委任されたアイテムが編集モードを終了したときに同じように見えるように描画しますが、アイテムが選択されているかどうかで異なる方法で描画する必要があり、それらのイベント中に paint メソッドも呼び出されます。私の質問は、いつどれを描くべきかをどうやって知るのですか?

ありがとうございました。

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

c++ - QItemDelegate を使用して QTableView に他のデータを表示する

QSqlTableModel に接続された QTableView があります。
最初の列には、この形式の日付のみがあります:2010-01-02
この列にこの形式で日付を表示したい (ただし、実際のデータは変更しません):02.01.2010
この列の QItemDelegate を作成する必要があることはわかっていますが、作成しません。既存のデータを読み取って別のもので上書きする方法がわかりません。それを管理する方法はありますか?

0 投票する
3 に答える
4447 参照

python - カスタム デリゲートに関する PyQt QTreeWidget の問題

単純なプロパティ エディターを作成しようとしています。pyqt クラス (以下のコードの WorkZone) を自動的に生成しました。カスタム エディター ColorEditor、LineEditor などを使用するデリゲート PropertyEditorDelegate を使用して、PropertyEditor でそのプロパティの一部を表示/編集する必要があります。

主なアイデアは、WorkZone がどのプロパティをどのように編集する必要があるかを認識し、PropertyEditor が WorkZone を解析し、そのようなプロパティを探し、QTreeWidget にそれらの値を入力することです。

ただし、問題があります。デリゲートは、ダブルクリック、「Enter」、またはsmthで編集を開始しません。右の行に追加され、アイテムをペイントしますが、それだけです。さらに、Propertyeditor コンテナーのタイプを QTableWidget に切り替えたところ、デリゲートがより適切に機能するようになりました (ただし、エディターはテーブルではなく、画面の隅に描画されます)。

PS。そして、もう 1 つの質問: デリゲートのインスタンスを別の場所 (スクリプト内の self._delegates) に格納する必要なく、いくつかのデリゲートを行に追加する方法はありますか? メソッドsetItemDelegateはデリゲートへのポインタを受け取り、C++では所有権を取得しますが、PyQTではそうではありません...さらに、たとえばsetItemではそのような問題はありません。

次のスクリプトは、問題を示しています。

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

c++ - QStyledItemDelegateで行全体の背景をどのようにペイントしますか?

カスタムQStyledItemDelegateを設定しているQTableViewがあります。

カスタムアイテムのペイントに加えて、選択/ホバー状態の行の背景色のスタイルを設定したいと思います。私が探している外観は、次のKGetスクリーンショットのようなものです 。KGetの行の背景http://www.binaryelysium.com/images/kget_background.jpeg

これが私のコードです:

その結果、個々のセルは、行全体ではなく、マウスがその上にあるときにのみ、mousedoverの背景を受け取ります。説明するのは難しいので、ここにスクリーンショットがあります: 上記のコードの結果http://www.binaryelysium.com/images/loader_bg.jpeg

その写真では、マウスが一番左のセルの上にあるため、背景が強調表示されています。しかし、行全体に背景を描画したいと思います。

どうすればこれを達成できますか?

編集:もう少し考えてみると、QStyle :: State_MouseOver状態は、マウスが置かれている実際のセルに対してのみ渡され、paintメソッドが行内の他のセルに対して呼び出された場合、QStyle::State_MouseOverは渡されません。セットする。

したがって、QStyle :: State_MouseOver_ Row状態(回答:いいえ)があるかどうかが問題になります。それを実現するにはどうすればよいですか?

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

pyqt - 'C++ object destroyed' in QComboBox descendant editor in delegate

I have modified combobox to hold colors, using QtColorCombo (http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Widgets/qtcolorcombobox) as howto for the 'more...' button implementation details. It works fine in C++ and in PyQt on linux, but I get 'underlying C++ object was destroyed' when use this control in PyQt on Windows. It seels like the error happens when:

Maybe console output will help. I've overridden event() in editor and got:

  • MouseButtonRelease
  • FocusOut
  • Leave
  • Paint
  • Enter
  • Leave
  • FocusIn
  • !!!!!!!!! QtGui.QColorDialog.getColor()
  • WindowBlocked
  • Paint
  • WindowDeactivate
  • !!!!!!!!! 'CloseEditor' fires!
  • Hide
  • HideToParent
  • FocUsOut
  • DeferredDelete
  • !!!!!!!!! #6e6eff

Can someone explain, why there is such a different behaviour in the different environments, and maybe give a workaround to fix this. Here is the minimal example: http://docs.google.com/Doc?docid=0Aa0otNVdbWrrZDdxYnF3NV80Y20yam1nZHM&hl=en

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

qt - QAbstractTableModel と QItemDelegate を 1 つの作業ソースに結合するには?

QTableViewUIファイルに定義があります。これが図です:

代替テキスト

デリゲートを処理するウィジェット (赤い配列が指している場所) で月の変更を行いたいのQComboBoxですが、私にとっては、カスタム デリゲートとモデルにとっては複雑すぎる問題であり、何が問題なのかわかりません。

問題: 私の意見では、カスタムのシンプルなウィジェットを QTableViewと組み合わせることができないため、 ではQAbstractTableModel動作しません。え?QItemDelegateComboBoxDelegate

ここに私が持っているものがあります:

私のカスタム デリゲート ヘッダー/ソース データ:

モデルデータ:

その後、次のように init デリゲートを作成しました。

PS: 長い出力で申し訳ありませんが、すべてのソースがここに表示されれば、より良いものになると思います。

ありがとう!


  1. 追加した:
0 投票する
2 に答える
3376 参照

qt - QTableViewでのデータのフォーマット

カスタムデリゲートを使用して、QTableViewにQDoubleSpinBoxを表示しています。これらのスピンボックスは、その内容を小数点以下2桁で表示します。

私の問題は、編集されていない間(その時点では、QDoubleSpinBoxにない)、QTableViewに小数点以下2桁の数値も表示させたいということです。または、QTableViewのコンテンツの形式を指定できるようにしたいと思います。

QStyledItemDelegateをサブクラス化してdisplayTextをオーバーライドしようとしましたが、奇妙な理由でクラッシュします。QItemDelegateをサブクラス化するだけで、正しく機能します。

WindowsでQt4.6.3を使用しています。

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

editor - QTableView でセルを編集しようとするときに QFileDialog を呼び出す

QItemDelegate を使用せずにこれを行う方法はありますか? 私はそれで多くの問題を抱えてきました。たとえば、デリゲートを使用する場合:

  1. ネイティブ ダイアログはありません。
  2. 独自の画像プレビューを実装する必要があります。
  3. 何らかの理由でウィンドウのサイズを変更できないため、setGeometry が機能しないなどの理由があります。

    /li>
0 投票する
2 に答える
22101 参照

c++ - Qt-QTableView-テーブル行のクリック可能なボタン

のテーブル行内にボタン/リンクが必要ですQTableView。これは、ダイアログを開いて、その行をより効率的に編集できるようにするためのものです。

何時間もウェブを調べた後、私はまだまともな例を見つけていません。

これはを使用して行われる可能性が高いことは承知していますQItemDelegateが、最初にアイテムを強制的に編集モードにせずに、行内に機能的なウィジェットを配置する方法がわかりません。

どんな助けでも大歓迎です。

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

qt - Qt: チェックボックス & QItemDelegate - 選択時にチェックボックスをペイントしない

QTableView の IsUserCheckable フラグと組み合わせて QItemDelegate を使用して、中央のチェックボックス列を描画しています。テーブルの行選択を有効にするまで、すべて正常に機能しています。

選択が行われると、青色の選択背景だけがペイントされ、チェックボックスは表示されなくなります。

以下は、デリゲート内からチェックボックスを描画するために使用する私のコードです。

選択が行われたときにこれが正しく描画されない理由についてのアイデアはありますか?