問題タブ [qstandarditemmodel]
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 - appendRowの後のQStandardItemModelを持つQSortFilterProxyModelが機能していません
ここに私が持っているもの:
- ウィジェット
QTreeView
(*); - ソースモデル
MainModel
はから継承しQStandardItemModel
ます。data() const
再実装された仮想メソッドはありません。 - プロキシは;
MainFilterProxyModel
から継承します。QSortFilterProxyModel
ツリー:
したがって、主な問題は、 (**)コードのようにCHILD行を追加しようとしたときに発生します。ドキュメントがソースモデルに追加された後のフィルタープロキシモデルは、新しい行を認識せず、ツリーに表示されませんでした。
QStandardItemModel
メソッドが彼の仕事をするときからプロキシがシグナルを受け取らなかったと確信しているので、プロキシはappendRow
新しい行をフィルタリングできず、それを表示しませんでした。
何か助けはありますか?
ありがとう。
PS:プロキシをオフにすると、すべてが正常に追加されます。しかし、問題は代理ではありません。プロキシは、メインソースモデルに追加された新しい行に関するシグナルを取得しません...
(*)ここにありQTreeView
ます:
(**)これが私の追加機能です:
qt - 私のユースケースでは QStandardItemModel::removeRows() が機能しません
基本的に、モデル内のすべての行を削除したいと考えています。ヘッダーを保持したいので、removeRows(..)
代わりにを使用したいと思います。clear()
私は何かを見逃していると思います(docu here)、私のコードは非常に単純です:
c
たとえば、4 ですが、r
常に false です。最初のインデックスとして 0 と 1 を試しました。使用clear()
作品。上記のコードはまったく影響を与えません。
qt - QTableView で選択された行の番号を返す
次のコードがあります。
ボックスをクリックするだけで、選択したフィールドの行番号を返すことができます。
これを行う方法はありますか?
qt - ListViewアイテムを昇順で並べ替える方法は?
ListViewアイテムを昇順で並べ替えようとしたので、
正常に動作しますが、Qt::AscendingOrderポリシーが好きではありません。実際、この関数は最初に大文字で始まる単語をソートし、次に小文字で始まる他の単語をソートします。次に、両方の結果を連結します。例:
並べ替えポリシーをカスタマイズする方法はありますか?Plz助けて...よろしくお願いします。
qt - Qt モデル / ビュー フレームワーク、ツリー ビュー
Qt とモデル/ビュー フレームワークを試しています。
ツリー ビューで表示および編集したいデータがあります。
ドキュメントとこのチュートリアルを読みましたが、私の場合のベスト プラクティスは何なのかまだわかりません。
データはサーバーから取得され、次のようになります。
ID は「実行中の」番号であり、すべて一意であるため、データは次のようになります。
ID はエンド ユーザーにとって重要ではないため、表示しないでください。
これを階層に入れるのは、再帰関数を使用して非常に簡単です。(ただし、ここでのアイデアも大歓迎です)
- サーバーから取得したデータを直接に入れるべき
QStandardItemModel
ですか? - 自分のクラスを作成して継承することに意味はあります
QStandardItemModel/Item
か? - 各フィールド (id、name、price) は独自のもの
QStandardItem
ですか?
#3で「はい」の場合、名前を含むアイテムを編集するときに、その名前に関連付けられたIDを取得して、変更をサーバーに戻すにはどうすればよいですか。
これらが基本であることを理解しているので、推奨される構造のスケッチは素晴らしいでしょう.
c++ - QStyledItemDelegate と QStandardItem の変更テキストを防止し、選択とコピーのみを有効にします
私は単純な QStandardItem と QTableView と QStyledItemDelegate を持っています。彼らにはデリゲートがあり、ユーザーがテーブルの列の内容を変更する可能性を無効にし、選択とコピーのみを許可したいと思います。に関係していると思われQStyledItemDelegate::createEditor
ます。
0 を返すように設定すると、すべてが無効になります。
私の質問は、どのように定義して、テキストを削除または変更するなどの編集オプションを無効にして、選択してコピーすることしかできないようにすることです
qt - QListViewを使用したQStandardItemModel、外部ドロップアクションは機能しません
Qt4.2を使用しています。
.desktopファイルから取得したいくつかのアイテムを表示するためにQStandardItemModelを使用するQListViewを備えたQMainWindowがあります。
今、私はアプリにドロップアクションを実装しようとしています。たとえば、.htmlファイルがfirefoxアイテムにドロップされたときにfirefoxを実行できます。
だからこれは私がやったことです:
-listViewの場合:
-standardItemModelの場合:
その後、アプリにファイルをドロップしても、dropMimeDataデバッグメッセージが表示されません。
c++ - QStandardItemModel または QTreeView でアイテムをフィルタリングする
QTreeViewでQStandardItemModelと同じデータを表します。データはテーブルです - 行と列があり、QSqlQuery を使用して DB から取得します。列の値に基づいて行をフィルタリングするにはどうすればよいですか? たとえば、3番目の列に整数値があり、ボタンをクリックすると、この数値が 10 を超える行のみを表示したいとします。別のQSqlQuery.execを実行できますが、QTreeViewまたはQStandardItemModelで実行できますか?
qt - QT: Qtableview ラッピング テキスト
Qt の QtableView を使用しています。私は1つの問題に直面しています。完全な cell にコンテンツを修正できません。私の場合、列のサイズが固定されており、行を引き伸ばすことができます。以下はサンプルコードです
ご覧のとおり、各セルに「Swaminarayan maharaj」が必要ですが、Swaminarayan はセルの最初の行に、「maharaj」は 2 行目にある必要があります。つまり、各セルはコンテンツを 2 行で表示する必要があります。
次のリンクで Qt::TextWordWrap を見つけましたが、コードで使用できません
http://www.qtcentre.org/threads/27839-For-Qt-4-6-x-how-to-auto-size -指定された幅に収まるテキスト
c++ - QTableView::setModel() を呼び出した後に QStandardItemModel と QTableView のデータを編集する方法
彼ら!!
QTableView で使用される QStandardItemModel に製品のリストを入力しようとしています。しかし、プログラムの開始後にこれらのデータを変更することはできません。
どうすればできますか?QStandardItemModel からデータを変更し (例: 行データの変更、行の削除、新しい行の挿入、すべての行の削除と行の再挿入)、動的に QTableView に表示します (例: 製品の配列に新しい製品を追加することによって)または addSomeNewLine または editSomeNewLine ボタンをクリックします)
ありがとう