問題タブ [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.

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

qt - QTreeView の QAbstractItemModel のノードに関する例が必要ですか?

問題: モデル ( に基づくQAbstractItemModel) をに作成する例を探していますが、適切なコードQTreeViewが見つかりません。Qt の例は に基づいていますが、これはあまり有用で複雑ではありません。インターネットの例は python に基づいています?! コード... 他の情報では正しい道順がわかりません。だから、ここに私が持っているものがあります:QStandardModel

  • std::map

    typedef std::map< CompanyData, std::vector< ContractorData >, LessData< CompanyData > > 会社;

これはデータの例です ( CompanyName + ContractorsNames ):

where *は - 展開可能なアイテム (親) を意味します

QTreeViewそして、上記のデータを使用して作成するために必要なものはすべて!

誰でも助けることができますか?

どうもありがとう!

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

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は以前の値に戻ります。

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

c++ - QTreeViewでQModelIndexの表示されている行を見つける簡単な方法

特定の「視覚的な行」を取得する方法はありQModelIndexますか?

一部のノードが展開されているツリーと展開されていないツリーがあるとします。たとえば、部分的に展開されたツリーを取得し、最後のアイテムをクリックします。

私がクリックしたアイテムがプログラムで5行目にあることを知りたいです。QModelIndexここに階層があるため、の行と列は役に立ちません。

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

qt4 - QTreeView複数列、可能ですか?

を使用QStandardItemModelしてQTreeView、左側のペインにノードを表示し、右側のペインにノードの値(この場合は列0と列1)を表示したいと思いました。

ノードの構築はかなり成功しましたが、でそのモデルに値を配置しようとすると QStandardItem::insertRow(1, XX)、アイテムがまったく表示されませんでした。何か見逃したことがありますか?

@アップデート:

私は再帰的にノードを作成するので、以下を使用します。

model.setItem()を追加するために使用することはできませんchildValue。これは、間違った行に移動し、新しいノードが追加されたときにQTreeViewがデフォルトで展開されないためです。

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

python - PyQt4 : QTreeView でのドラッグ アンド ドロップ

PyQt4でUIを作っています。それはtreeViewを持っており、私はそれを扱いたいと思っています。treeView はモデルベースで構成されています。.py ファイルにデータを作成してインポートします。したがって、treeView でデータ ツリーを確認できます。しかし、ドラッグアンドドロップできないので、順序を変更できません。いくつかの記事を参照したので、スクリプトに追加しましたが、機能しませんでした。私はいくつかの「版画」を植えたので、私は自分の問題を追跡しました。アイテムをドラッグすると、MIME データに転送されることがわかりました。しかし、ドロップすると、出力が見つかりません。スクリプトは「dropMimeData」メソッドを呼び出していないようです。スクリプトを修正するにはどうすればよいですか?


ここに追加されたスクリプトは ui の作成です (上記のスクリプトはこのスクリプトにインポートされます)

データは

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

request - PyQTとQTreeView:ユーザーがアイテムをクリックしたときに子供を求める必要があります

リクエストに基づいてQTreeViewを作成する必要があります。

したがって、ユーザーがアプリケーションを開くと、ツリーのルートアイテムを取得するように要求する必要があります。ユーザーがそのアイテムをクリックすると、子を要求する必要があります。

希望どおりのリクエストで実用的な例を見つけることができず、これが可能かどうかさえわかりません。

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

pyqt - QTreeView:アイテムを展開するときに「読み込み中」のメッセージを表示する

PyQTとQTreeViewを使用すると、子はhttpリクエストを行うことで取得されるため、ユーザーがアイテムを展開するときに「読み込み中」メッセージまたは「スピニングホイール」を表示する必要があります。

これを実装する方法について何かアイデアはありますか?

ありがとう

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

qtreeview - QFileSystemModel にカスタム行を追加するには?

QFileSystemModel を使用して、QTreView を介してファイル構造を表しています。すべて正常に動作しますが、ツリーのあるレベルに行を追加する必要があります。たとえば、今のところは次のとおりです。

-根

--row1

--row2

--row3

これらすべての行は、ファイル システムからフォルダー/ファイルをマッピングします。私は欲しい:

-根

--row1

--row2

--row3

--カスタム行

そのため、カスタム行はファイル システムからのデータを表していません。ここに自分のデータを追加するだけです。私はインターネットから多くのものを読み、プロキシモデルを使用してrowCount()、data()、およびflags()関数を再実装するよう人々にアドバイスしました。私はそれをやろうとしました(QSortFilterProxyModelから派生したクラスを使用しました)が、data()およびflags()関数で行を取得できませんでした。ソースモデルから数がかかるようです。

QSortFilterProxyModel() のフィルタリング関数が必要なため、QAbstractProxyModel から派生したクラスを使用することはできません。

また、QFileSystemModel の rowCount() を再実装してモデルを直接変更しようとしましたが、QT コードから「範囲外の配列」エラーが発生しています。

insertRow() メソッドを試しましたが、機能しません。QFileSystemModel が読み取り専用だからだと思います。

誰かがこの問題に直面しましたか? 何か案は?

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

qt - QTreeViewの最後の列ではなく、中央の列の塗りつぶし幅のスペース

これを行う方法:

中央の列の塗りつぶしスペース

私はすでにこの方法を試しました:

しかし、動作しません。