問題タブ [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 に答える
396 参照

c++ - デリゲートから QTreeview の選択モデルにアクセスできますか?

モデルを QTreeView に表示しています。表示されるデータはテキストで構成されています。私が達成しようとしている動作は、選択されていない行に 1 行のテキストのみを表示し、選択された行にすべての行 (1 行または複数行) を表示することです。

QStyledItemDelegate のdisplayTextメソッドを再実装することを検討していましたが、それが提供する唯一の情報はデータとロケールです。現在要求されているテキストが選択された行にあるかどうかを判断するには、ビューの QItemSelectionModelまたは何かにアクセスする必要があります。何か案は?

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

qt - QTreeViewで子アイテムの並べ替えを無効にする

私はpyQtを使用しています。QTreeView / StandardItemModelで子アイテムの並べ替えを無効にするにはどうすればよいですか?

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

c++ - qtreeviewのqteventfilterが機能していませんか?

qtreeviewが選択されているときにEnterキーが押されたときに「イベント」が発生することを望みます。qtreeviewをサブクラス化したくないので(デザイナーにとっては簡単です)-イベントフィルターをインストールしようとしました。しかし、これはうまくいかなかったようです:

このクラスには、パブリック関数が含まれているだけです。

そして、イベントは次のように追加されます。

ui.InputTreeViewEnterキーを押したときに実行したいツリービューとInputTreeKeyboardEater、オブジェクトへの(共有)ポインタはどこにありますかInputTreeEventHandler

上記の関数の開始時にブレークポイントを設定すると、イベントハンドラー全体が呼び出されていないことが示されます-何が間違っている可能性がありますか?

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

qt - QTreeview コンテンツをペイントする方法

別の QWidget でレンダリングして印刷するために、QPixmap で QTreeview のコンテンツをペイントしようとしています。

現在、私のコードは次のようになります。

これは、QTreeview が既にユーザーに表示されている場合に非常にうまく機能します。ツリービューは、メイン ウィンドウのタブに表示されます。ユーザーがツリービューを表示し、上記のコードを実行するボタンをクリックすると、すべてのツリービューが QPixmap に表示されます。それ以外の場合は、ツリービューの一部のみが表示されます。

この問題を解決する方法を知っている人はいますか?

ありがとう

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

python - QTreeView アイテムをカスタマイズする

私は PySide と Qt をまったく使用したことがなく、スタイル設定されたアイテムを含むツリー ビューを持つアプリケーションを作成する必要があります。各項目には、2 行のテキスト (異なるスタイル) とボタンが必要です。多くの項目がビューに表示されるはずなので、QTreeWidget ではなく QTreeView を選択しました。QTreeView に単純なテキスト アイテム (スタイルなし) を追加することができましたが、1 つのアイテムに複数のウィジェットを配置する方法がほとんどわかりません。そのようなデザインを作成する方法の例を教えてください。

インターネットでいくつかのサンプルを見つけましたが、それらは私が望むものに似ていますが、それらはすべて C++ であり、デリゲートやその他のものを Python に変換する方法は明らかではありません。私は今、それについて本当に混乱しています...

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

c++ - ネストされたベクトルの Qt カスタム ツリー モデル

QTreeView で表示したいネストされたデータ構造があります。

私がこのようなものを持っているとしましょう:

QTreeView は、次のように MultiGallery を表示する必要があります。

Qt モデル ビューの例を読みました。QAbstractItemModel から派生してツリーモデルを作成し、メンバー関数を実装する必要があることはわかっています。

これら、特にインデックス関数を実装する最良の方法がわかりません。

0 投票する
0 に答える
552 参照

xml - Qt4:「Simple Dom Model」を編集可能にする; 行の挿入

基本的に、私が達成しようとしているのは、「編集可能なツリー モデル」と「単純な Dom モデル」の例を組み合わせることです。だから私は後者をベースにしていて、そこに編集機能をコピーしたり、フラグを変更したりしましたsetData

私はすでにエントリの編集に成功しています。

現在、モデルに行を追加する際に問題があります。

具体的には、 で insertAfter 関数を使用するQDomNode::parentNode()と、モデルは内部的にのみ更新されます。親を折りたたんで展開すると、追加されたノードは最後のノードのコピーであり、最後に挿入されます。

私が正しく取得できる唯一の方法は、XML を に保存し、それをandQStringに再度ロードすることです。その後、挿入されたものはすべて、あるべき場所にあります。しかし、その後、すべての展開された状態が失われます! あまり使い勝手が良くない…QDomModelQTreeView


InsertAfter バージョン:


今、私は代わりにこのような行を追加しようとしましたinsertAfter:

呼び出される関数は次のとおりです。

これで行が作成されます。クリックして展開できる非表示の親が作成されます。しかし、この親にはモデル全体のコピーが含まれています...


insertChildren 関数に問題があるようです。現在のように、現在選択されている行を空の行に置き換えます。

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

qt - QTreeView / QFileSystemModel: ツリーの深さを制限するにはどうすればよいですか?

モデルとして QFileSystemModel を持つ QTreeView があります。

木の深さを制限する方法がわかりません。私はそれがモデルの機能だと思っていたでしょうか?

たとえば、深さを 1 に設定すると、最上位のアイテムのみが表示されます (つまり、フォルダーの展開ボタンは表示されません)。

深さが 1 の場合、ツリーは、Windows エクスプローラーの泥沼標準の詳細ビューのように見えます。

PySide を使用していますが、PyQt または C++ での回答は理解できます。

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

qt - QTreeViewとQFileSystemModelを使用して、特定のファイルを含むフォルダーのみを表示するにはどうすればよいですか?

QTreeViewとQFileSystemModelを使用して特定のフォルダーをフィルタリングする際に問題が発生しました。

ルートQFileSystemModelを特定のフォルダーに設定しました-これは機能します。ただし、ファイルを含むフォルダーのみを表示したいと思い.jpgます。これは可能ですか?

ファイルをフィルタリング.jpgすると機能しますが、QTreeViewには、ファイルがないフォルダーも含め、すべてのフォルダーが表示され.jpgます。したがって、ユーザーが.jpgファイルなしでフォルダを開こうとしても、何も起こりません。

これらのフォルダを非表示にするにはどうすればよいですか?

注:以下にコードの一部があります。

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

python - QTreeView イベントベースで項目を有効/無効にする方法は?

特定のシグナルが送信されたときに、QTreeWidget でチェック可能なアイテムを有効/無効にしたいと考えています。

次のコードは機能しません。

次のエラーが発生します。

シグナル/スロットを介して QStandardItem の状態またはデータを変更するソリューションはありますか?