問題タブ [qheaderview]

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 に答える
739 参照

height - QTableView の行の高さを計算する方法。非表示の行/列の QHeaderView::ResizeToContents

行数が少なく、約10列のQTableViewがあります。verticalHeader() に QHeaderView::ResizeToContents resizeMode を設定しました。ただし、表示されている行に対してのみ機能します。たとえば、tableView が右にスクロールされ、一部のデータが変更された場合、行の高さが小さくなります。また、tableView がスクロールバックされた後、行の高さがセルに対して小さすぎるままになり、以前は表示されませんでした。sizeHintForRow(int row) を再実装すると問題が解決することがわかりました。しかし、トップレベル関数を使用してセル (非表示のセルを含む) の高さを計算する良い方法が見つかりません...

元の QTableView::sizeHintForRow() を使用できます。私はそれのほんの一部を変更する必要があります。しかし、d->viewOptionsV4() を呼び出します。私の場合、QStyleOptionViewItemV1 しか取得できません。しかし、itemDelegate の正しい sizeHint を計算するには、このオブジェクトを持つだけでは十分ではありません。

セルの高さを計算する最良の方法について何か考えはありますか?

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

qt - デリゲートを使用して QHeaderView セクションでピックスマップを描画する方法は?

問題: この図に示すように、セクションに小さなピックスマップを描画する必要がありますQHeaderView(セクションの右隅にあり、赤い四角でマークされているピックスマップ):

ここに画像の説明を入力

私が理解しているように、それを行うには2つの方法があります。

  1. 再実装QHeaderViewpaintSection()メソッド。

  2. クラスからデリゲートを作成し、メソッドQStyledItemDelegateを再実装しpaint()ます。

以下のコードで (1) バリアントを試した場合、フィルター pixmapはまったく表示されません。

(2) バリアントは次のとおりです。

デリゲートが作成されましたが、関数はメソッドを開始しませんでしたpaint()!

何か助けはありますか?

ありがとう!

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

python - QTableView のヘッダーごとに異なるツールチップ

を使用して、すべてのヘッダーに単一のツールチップを追加できます

ただし、各ヘッダーに異なるツールチップを追加できますか。つまり、ヘッダーを含む QWidgets にアクセスする必要があります。たとえば (機能しません):

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

c++ - 水平ヘッダーQHeaderViewの高さを設定するには?

ヘッダーのテキスト行が異なるため、互いに近くにある 2 つのテーブルのヘッダーを調整する必要があります。無理そうです。

助けてください!

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

c++ - QTreeWidgetの垂直ヘッダーラベル

現在、水平方向のヘッダーラベルが付いたQTreeWidgetがあり、headerLabels のみを垂直方向に描画し、残りは水平方向に描画することを目的としています。

QTreeWidgetsのメソッドですべてを再実装したくないpaintEventので、ヘッダーラベルのpainteventを制御してから、スーパークラスを呼び出すことを考えていますpaintevent

これに沿った何か:

headerLabelsを挿入するときに各文字の後にアフターを挿入しようとしました\nが、それは本当に醜いハックであり、私が本当にやりたくないことです。

私の問題は、ヘッダーアイテムを取得する方法や、それらを垂直にペイントする方法がよくわからないことです。何か案は?

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

qt - QHeaderView::mousePressEvent (列/インデックスを把握する必要があります)

通常、QTableView::mousePressEvent( QMouseEvent* ) を再実装すると、これを問題なく動作させることができます。ただし、 QHeaderView で実行してもうまくいきません。コードは簡単です。

QMouseEvent の x() と y() は問題ありません。ただし、row() が -1、column() が -1 の無効なインデックスが作成されます。明らかに、メニューを開始する handle_right_click() に空の文字列を渡しています。そのメニューは、どの列がそれを呼び出したかを知ることができず、騒乱がさらに続く.

clicked( const QModelIndex& ) は、正しいインデックスとテキストを教えてくれることを知っています。ただし、ボタンを区別する必要があります。

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

qt - QHeaderView::section:selected

QHeaderView に適用された次のスタイル セグメントがあります。

何らかの理由で QHeaderView の「選択された」疑似状態が機能していませんが、ドキュメントでは機能するはずだと書かれています。私は次のことを試しましたが、うまくいきます:

私の質問は、選択したヘッダー TIA に別のスタイルを適用する方法です。

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

qt - QSortFilterProxyModel が columnWidths を壊す

QSortFilterProxyModel (任意の順序で) を介して特定の列を非表示/削除している QTableView 内に保存された列幅を維持する標準的な方法は何ですか? 単一のインスタンス内でそれらを非表示および非表示にすることについて話していることに注意してください。

私はそれを実現するためにいくつかの方法(すべて醜い)を試しました。確かに私は何か間違ったことをしています。

QHeaderView::saveState() と QHeaderView::restoreState() を見てきましたが、何か不足していない限り、これはシャットダウンから開始までの保存にのみ適しています。列が別の順序で非表示および非表示にされると、これは壊れます。

QSortFilterProxyModel は、filterAcceptsColumn() を使用して正常に動作します。注意点は、以前に false を返した列に対して filterAcceptsColumn() が true を返す場合です。invalidateFilter() を実行すると、QTableView に描画されます。ただし、 QTableView は、 QSortFilterProxyModel が列を非表示にする前の幅ではなく、列幅にデフォルト値 (100 のようです) を使用しています。

アイデア?

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

qt - qfilesystemモデルのヘッダーテキストでqtreeviewの先頭のスペースを避ける方法は?

私はQTreeViewでQFileSystemモデルを使用しています.このようにQFileSystemモデルをサブクラス化することでテキストを変更できます...

しかし、ヘッダー テキストの先頭のスペースを削除することはできません。その方法を提案できますか。

ここに画像の説明を入力