問題タブ [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.
qt - QHeaderView saveState/restoreState から移動された列の順序を除外します
QHeaderView のsaveState /restoreState に問題があります。アプリケーションに複数のQTableViewがあります。QTableView は QHeaderView の設定を保存して復元しますが、一部の QTableView では、移動したセクションの順序を ini ファイルに保存することから除外したいと考えています。
つまり、ユーザーが列を移動した場合、 saveStateは並べ替えられた列、並べ替えインジケーター、列幅を保存する必要があります。
移動した列を保存しない方法はありますか?
ありがとうございました。
よろしく、マニ
c++ - QHeaderView データを変更する
QTableWidget で QHeaderView (Horizontal) のテキストを変更しようとしています。
最初の質問: QTableWidgetItem のように編集可能に設定することは可能ですか?
2 番目の質問: それができない場合、どうすればそれを行うことができますか? 次のように再描画しようとしました:
しかし、ヘッダー インデックスはテキストの後ろに描画されます。
私が試した別の解決策は次のとおりです。
しかし、それはうまくいきません...
誰かが解決策を持っていることを願っています。
ありがとうございました !
qt - QHeaderView をセル内のデータのように編集可能にする方法は?
QAbstractTableModel を使用してパンダ データフレームを編集しています。テーブルの内容を編集するのは簡単でしたが、列と行の名前をその場で変更する方法が見つかりません(テーブルの残りのデータのように)。どうすればそれができますか?
c++ - カスタム ウィジェットを QTableWidget HorizontalHeader として追加します
一般的な文字列だけでなく、カスタムを表示することは可能QWidget
ですか?QHeaderView
また、高さhorizontalHeaderItem
のみの変更は可能でしょうか?これを行うとクラッシュします:
c++ - ソート インジケーターを使用してテーブルの列ヘッダーのテキストをトリミングする
スタイル付きの列ヘッダーを持つテーブルがあります。ヘッダーの高さが制限されているため、ヘッダーは実際には狭くなっています。ヘッダーには、並べ替えインジケーター (デフォルトの矢印/三角形) もあります。
ユーザーが列の幅を変更してテキストの幅よりも狭くすると、テキストの末尾が 3 つのドットでトリミングされます。例: "Universi..." これまでのところとても良いです。
問題は、並べ替えインジケーターがトリミングされたテキストの一部を隠していることです。幅の広い列を想像してみてください。テキストが完全に表示され、並べ替えアイコンが右側にあり、すべてが見栄えがします。ここで、ユーザーは列のサイズを変更します。テキストが 3 つのドットでトリミングされる直前に、ソート インジケーターがテキストの右側を隠し始めます。ある時点で、テキストは 3 つのドットの上にある並べ替えインジケータでトリミングされます。たとえば、「Universi.▽」または「Univers▽」です。
ヘッダーがソート記号を考慮していないようです。「Univer... ▽」などのように、トリミングされたテキストと重ならないように記号インジケータを設定する簡単な方法はありますか? 列のサイズ変更と並べ替えが可能である必要があります。
プッシュ ボタンとテキスト ボックスを備えた特別なウィジェットを定義したり、イベントやトリミングを処理したりしたくありません。これは深刻なオーバーヘッドです。
ありがとう
c++ - QHeaderView::paintSection は、ペインタに対して行う前または後のすべてが無視されるように何をしますか
この質問は、この投稿をさらに発展させたものであり、これと似ているように見えるかもしれませんが、異なります。
QHeaderView::paintSection
モデルから返された背景が尊重されるように、を再実装しようとしています。私はこれをやろうとしました
しかし、それはうまくいきませんでした-私がQHeaderView::paintSection
電話をかけた場合、ペインターで描いたものは何も見えません(対角線も描いてみました)。通話を削除するQHeaderView::paintSection
と、線と背景が表示されます。の前と後にfillRect
呼び出しQHeaderView::paintSection
を行っても、違いはありません。
QHeaderView::paintSection
その上に何かを描くことができないのは何なのだろうか。そして、すべてを再実装せずにそれを克服する方法QHeaderView::paintSection
はありますか?
私がする必要があるのは、特定のセルに特定の色合いを追加することだけです-セル内のすべて(テキスト、アイコン、グラデーションの背景など)をそのままペイントしたいのですが...
c++ - ウィジェットの幅が変更されたときに QHeaderView 列のサイズを変更しながら、ユーザーは列の幅を変更できます
ビューの境界線の後ろに列を移動できるなど、ユーザーが手動で列のサイズを変更できるようにしたいのですが、ビューのサイズが変更されたときに列のサイズを比例的に変更したいのです。resizeEvent
ヘッダー ビューにフィルターをインストールし、列のサイズを手動で変更するよりも適切な決定はありますか?
更新: で動作させることさえできませんでしたresizeEvent
。この作業は、見た目よりもはるかに困難です。