問題タブ [qtreeview]
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 - QTreeView の QAbstractItemModel のノードに関する例が必要ですか?
問題: モデル ( に基づくQAbstractItemModel
) をに作成する例を探していますが、適切なコードQTreeView
が見つかりません。Qt の例は に基づいていますが、これはあまり有用で複雑ではありません。インターネットの例は python に基づいています?! コード... 他の情報では正しい道順がわかりません。だから、ここに私が持っているものがあります:QStandardModel
std::map
typedef std::map< CompanyData, std::vector< ContractorData >, LessData< CompanyData > > 会社;
これはデータの例です ( CompanyName + ContractorsNames ):
where *
は - 展開可能なアイテム (親) を意味します
QTreeView
そして、上記のデータを使用して作成するために必要なものはすべて!
誰でも助けることができますか?
どうもありがとう!
xml - QtQTreeView編集可能なDOMモデル
サブクラス化されたDomModel:QAbstractItemModelを設定するQTreeViewがあります。各アイテムは、主にQDomNodeを処理するDomItemです。QDomDocumentをこのモデルに設定しました。このシステムは、Qtの例の1つから派生したと思います。
3つの列があります。0はノード名、1は属性、2は値です。
とにかく、私はこのXMLDOMツリーを編集可能にしたかったのです。Qt :: ItemIsEditableやモデルクラスの他のいくつかのフラグを変更しました。これで、ダブルクリックしてQTreeViewからモデルを編集できます。
列2の場合、QDomItemにはこのsetNodeValue関数があるため簡単ですが、item-> node()。NodeName()およびitem-> node()。attributes()には「set」関数がないことがわかりました。私は、列0と1を変更すると推測します。
したがって、列2を変更すると機能しますが、Enterキーを押すと、列0と1は以前の値に戻ります。
c++ - QTreeViewでQModelIndexの表示されている行を見つける簡単な方法
特定の「視覚的な行」を取得する方法はありQModelIndex
ますか?
一部のノードが展開されているツリーと展開されていないツリーがあるとします。たとえば、部分的に展開されたツリーを取得し、最後のアイテムをクリックします。
私がクリックしたアイテムがプログラムで5行目にあることを知りたいです。QModelIndex
ここに階層があるため、の行と列は役に立ちません。
qt4 - QTreeView複数列、可能ですか?
を使用QStandardItemModel
してQTreeView
、左側のペインにノードを表示し、右側のペインにノードの値(この場合は列0と列1)を表示したいと思いました。
ノードの構築はかなり成功しましたが、でそのモデルに値を配置しようとすると QStandardItem::insertRow(1, XX)
、アイテムがまったく表示されませんでした。何か見逃したことがありますか?
@アップデート:
私は再帰的にノードを作成するので、以下を使用します。
model.setItem()
を追加するために使用することはできませんchildValue
。これは、間違った行に移動し、新しいノードが追加されたときにQTreeViewがデフォルトで展開されないためです。
python - PyQt4 : QTreeView でのドラッグ アンド ドロップ
PyQt4でUIを作っています。それはtreeViewを持っており、私はそれを扱いたいと思っています。treeView はモデルベースで構成されています。.py ファイルにデータを作成してインポートします。したがって、treeView でデータ ツリーを確認できます。しかし、ドラッグアンドドロップできないので、順序を変更できません。いくつかの記事を参照したので、スクリプトに追加しましたが、機能しませんでした。私はいくつかの「版画」を植えたので、私は自分の問題を追跡しました。アイテムをドラッグすると、MIME データに転送されることがわかりました。しかし、ドロップすると、出力が見つかりません。スクリプトは「dropMimeData」メソッドを呼び出していないようです。スクリプトを修正するにはどうすればよいですか?
ここに追加されたスクリプトは ui の作成です (上記のスクリプトはこのスクリプトにインポートされます)
データは
request - PyQTとQTreeView:ユーザーがアイテムをクリックしたときに子供を求める必要があります
リクエストに基づいてQTreeViewを作成する必要があります。
したがって、ユーザーがアプリケーションを開くと、ツリーのルートアイテムを取得するように要求する必要があります。ユーザーがそのアイテムをクリックすると、子を要求する必要があります。
希望どおりのリクエストで実用的な例を見つけることができず、これが可能かどうかさえわかりません。
pyqt - QTreeView:アイテムを展開するときに「読み込み中」のメッセージを表示する
PyQTとQTreeViewを使用すると、子はhttpリクエストを行うことで取得されるため、ユーザーがアイテムを展開するときに「読み込み中」メッセージまたは「スピニングホイール」を表示する必要があります。
これを実装する方法について何かアイデアはありますか?
ありがとう
qtreeview - QFileSystemModel にカスタム行を追加するには?
QFileSystemModel を使用して、QTreView を介してファイル構造を表しています。すべて正常に動作しますが、ツリーのあるレベルに行を追加する必要があります。たとえば、今のところは次のとおりです。
-根
--row1
--row2
--row3
これらすべての行は、ファイル システムからフォルダー/ファイルをマッピングします。私は欲しい:
-根
--row1
--row2
--row3
--カスタム行
そのため、カスタム行はファイル システムからのデータを表していません。ここに自分のデータを追加するだけです。私はインターネットから多くのものを読み、プロキシモデルを使用してrowCount()、data()、およびflags()関数を再実装するよう人々にアドバイスしました。私はそれをやろうとしました(QSortFilterProxyModelから派生したクラスを使用しました)が、data()およびflags()関数で行を取得できませんでした。ソースモデルから数がかかるようです。
QSortFilterProxyModel() のフィルタリング関数が必要なため、QAbstractProxyModel から派生したクラスを使用することはできません。
また、QFileSystemModel の rowCount() を再実装してモデルを直接変更しようとしましたが、QT コードから「範囲外の配列」エラーが発生しています。
insertRow() メソッドを試しましたが、機能しません。QFileSystemModel が読み取り専用だからだと思います。
誰かがこの問題に直面しましたか? 何か案は?
qt - QTreeViewの最後の列ではなく、中央の列の塗りつぶし幅のスペース
これを行う方法:
私はすでにこの方法を試しました:
しかし、動作しません。