問題タブ [qtableview]

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

pyqt - QTableViewの並べ替え時にカスタムデリゲートが従わない

カスタム デリゲートを使用して、QTableView にコンボ ボックスの列を表示しています。

デフォルトの選択の問題 (ここにリンクの説明を入力してください) に加えて、QTableView のデータを (列ごとに、またはフィルターを適用して) 並べ替えるときに問題が発生します。コンボボックスは、グリッドが表示されていないときの位置にとどまります。

デリゲートの再描画を強制する方法はありますか? ペイント メソッドのコードを (インデックスなしで) コピーする必要がありましたが、これによりプログラムがクラッシュするだけでした。

よくわからない場合はお知らせください。

これが私のカスタムデリゲートのコードです:

そして、私は QTableView クラスからそれを呼び出します:

(モデル クラスから) 列を並べ替えるときに updateDelegate 関数を呼び出します。

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

c++ - テーブル モデルをどのように使用しますか

核となる概念は理解できましたが、Qt のテーブル モデルをどのように使用していますか? モデルクラスを作成して、データが変更されたときに最終的に QTableView の自動リロードを行うにはどうすればよいでしょうか。

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

c++ - dataChangedを呼び出すにはどうすればよいですか

以下は、行クラスを追加する方法です。これはテーブルではなくコードによって呼び出され、新しい行が追加されたときにdataChangedを適切に呼び出すようにします。これは機能していませんが、テーブルは何もしません。私は何が間違っているのですか?

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

qt - デザイナーに追加された QTableView: データが表示されない

使用方法の例を見つけましたQTableView: http://doc.trolltech.com/4.5/sql-querymodel.html 正常に動作します。にデータを示しQTableViewます。

ただしQTableView、この例ではファイルに動的に作成されmain.cppます。私のアプリケーションにはメインフォームがありQTableView、デザイナーに追加しました。QTableViewこれをコンストラクターに入力しようとしましたが、結果はありません:

QTableViewがメイン フォームに表示されており、列と行のヘッダーのみが表示されます。また、データは表示されません。

QTableViewのようなコンポーネントQListViewがデザイナーに追加された例のあるサイトを知っている人はいますか? trolltech (nokia) のチュートリアルでは、すべてのコンポーネントが動的に作成されます。

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

qt - QtableViewの一部のセルは、テーブルセルをクリックした後に自動的に再描画されません

インタラクティブボードゲームの実装でQTableViewを使用しています。表のセルに画像が表示されます。QStyledItemDelegateとpaint関数を使用して、テーブルセル内に画像を描画しています。

画像はテーブルの特定のセルにのみ表示され、ユーザーがテーブルセルをクリックすると更新される必要があるため、テーブルと同じサイズのdoubleint配列が使用されます。配列の値に応じて、画家はテーブルの特定のセルに画像を描画する必要があります。最初は、テーブルの4つのセル内に4つの画像しかありません。ユーザーがテーブル内のセルをクリックすると、配列が更​​新されます。これは、テーブルのセル内に描画および表示されるものを変更する必要があることを意味します。

通常、ユーザーは正常に更新された空の(白い)セルをクリックすると、特定の画像がセルに表示されます。ただし、画像を含み、更新する必要がある他のセルがある場合、double int配列は更新されますが、更新は表示されません。また、表示が更新されているはずのセルをクリックすると、更新が行われるという奇妙なこともわかりました。もちろん、このコースは、誰かがセルをクリックしたときに更新する方法に関係なく発生します。

再描画する前に、まずセル内の内容を消去しようとしましたが、それでも機能しません。デリゲートはスレッド内で継続的に実行され、ペインタ関数はテーブル内の各セルのインデックスを使用して呼び出されますか?画家がセルの領域を再描画する必要があり、セルをクリックした後にのみ発生するにもかかわらず、画像を含むセルの更新が自動的に更新されない方法がわかりません。または、そのcusは、毎回新しい画家が画家の機能に呼び出されますか?!

さて、これが代表者の画家の機能の私の実装です:

私の問題を解決する必要がある場合は、さらに情報を提供できます。前もって感謝します。

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

qt - 非表示の QTableView 列を表示する

非常に単純であるように思われることをしようとしていますが、調べれば調べるほど、Qt のバグではないかと思います。

したがって、QTableViewユーザーが好きなように表示/非表示にできる列を持つ があります。テーブルを初期化した後、最後に GUI を開いたときにユーザーが非表示にした列を ( を使用して)非表示にするカスタムrestoreColumns()メソッドを呼び出します。QTableView::hideColumn()

この問題は、最後に GUI を実行したときにユーザーが非表示にした列をユーザーが表示しようとしたときに発生します。適切なシグナル/スロットが呼び出されて実行されますが、何らかの理由でQTableView列を表示するために更新されません。

奇妙なことに、既に表示されている列 (最後に GUI が実行されたときにユーザーによって非表示にされていない列) は、非表示/表示に問題はありません。

何かご意見は?ありがとう!


これがテーブルを初期化する方法です...

restoreColumns() メソッドの要点:

以下は、列の 1 つを表示/非表示にするサンプル コードです。

QActionメニューおよびコンテキスト メニューからアクセスできる に接続されています。QHeaderViewQTableView

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

qt4 - 水平ヘッダーの高さを変更する方法(QTableWidget)

QTableWidgetがあり、horizo​​ntalHeadersのサイズを変更したいと思います。ただし、幅を設定する機能しかありません。しかし、どのように高さを変更しますか?誰かが私を助けてくれることを願っています。

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

qt - QTableView列にQAbstractListModelアイテムを表示する

私はQtをいじっていて、小さな問題に遭遇しました。

写真の一覧をアイコンの表として表示したい。現在、私はQAbstractTableModel をサブクラス化し、それを QTableViewサブクラスにプラグインすることでこれを行っています。

私の意見では、これはコード、モデル、およびビューを過度に複雑にします (特にアイテムを編集/追加しようとする場合)。モデルをQAbstractListModelとして実装しようとすると、項目がテーブルの行として表示されます。

代わりに QTableView にアイテムを列として表示させる方法はありますか?
編集:アイテムが左から右に 1 行でレンダリングされ、新しい行にラップされるようにします。

それとも、どのような場合でもテーブル ビューにテーブル モデルを使用し、問題を回避することが望ましいですか?

私は Qt Jambi に基づいて Qt の C# バインディングを使用していることに言及する価値があります。

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

python - 画像の列を持つ QTableView

データベースの情報をグリッド形式で表示する QTableView があります。フィールドの 1 つは画像へのパスであり、これらの画像をテーブルに表示したいと考えています。

デリゲートで何か試してみましたが、あまり快適ではなく、何も機能しませんでした。私も役割で何かを試しました:

このコードは、私が別のフォーラムで見つけたものに触発されたもので、動作するはずでした。ただし、それは私には何もしません。コードの実行が遅くなるだけです。

なぜそれが機能していないのですか?デリゲートの例があれば、それもいただければ幸いです。

ご清聴ありがとうございました

解決済み: カスタム デリゲートで動作するようになりました。誰かが興味を持っている場合、これが私のコードです:

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

qt - QtQTableViewはアクティブセルの周囲に境界線を描画します

現在の選択範囲全体の周囲に境界線が描画されるQTableViewにExcelと同様の動作を実装しようとしています。私はこれを100通りの方法で試し、問題を抱え続けています。簡単に境界線を描くことができますが、選択が変わるたびに境界線の残骸が残ります。これが私がQTableView::paintEvent..で試した1つの例です。

そのコードは次のような結果を生成します

これをよりスムーズに実行する方法についての提案があればいいのですが。デリゲートでこれを実行しようとしましたが、デリゲートは選択されているすべてのインデックスを知る必要があり、QTableViewによって描画されたグリッド線上にペイントできません。さらに、私のテーブルクラスは、境界線が描画された場所を知る必要があります。