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

qt - 特定のコンテンツを含むディレクトリのQFileDialog

QFileDialog :: getExistingDirectory()に似たダイアログを作成したいのですが、選択したディレクトリに特定のファイルが含まれている場合にのみ[OK]ボタンが有効になります。

QFileDialogではこれを達成できないことはわかっていますが、代わりに、 QFileSystemModelに結合されたQTreeViewを持つ独自のQDialogを考え出す必要があります。

  1. QTreeViewをディレクトリに制限するにはどうすればよいですか?
  2. 現在選択されているディレクトリを取得して、ファイル名が含まれているかどうかを確認するにはどうすればよいですか?
0 投票する
1 に答える
1162 参照

qt - Qtreeview、選択されたときに行のサイズを変更する

複数の列を持つ Qtreeview である Qt 4.7.0 を使用しています。

私がやりたいことは「シンプル」です:選択されたときに線の高さを増やしたいです。

デリゲートはこれを行うのに十分でしょうか?

私は QTableView でいくつかのことを経験しました:

このテーブルビューで動作していますが、最初は垂直ヘッダーがないため、QTreeviewでこれを行う方法がわかりません...

誰かが私の道を教えてくれますか?

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

c++ - QFileSystemModel QTreeView の特定の項目 (行) の背景色

QTreeView に適用された QFileSystemModel の特定の行にカスタムの背景色を設定するにはどうすればよいですか?

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

c++ - QTreeWidget(Qt)で行を異なる色でペイントするにはどうすればよいですか?

私のアプリケーションでは、行をクリックするとデフォルトの青い行がマークされますが、この青い色の横に、ユーザーがクリックした信号に依存しない関数を介して行を別の色でペイントするものがあります。行インデックスを渡すと、行がx色でペイントされます。

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

qt - QTreeview mousePressEventの実装により、アイテムの選択が防止されます

こんにちは、Qtreeviewから継承したクラスがあり、単純な(空の)mousePressEvent関数を実装
していますが、これを実行しようとすると、Qtreeviewの項目の選択が無効になり、この関数を削除すると、すべてが正常に機能し
ます。 ?
コードは次のとおりです。

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

multithreading - Qtreeview から項目を削除するにはどうすればよいですか?

基本的に、qtreeview サブクラスで継承された dropEvent(QDropEvent *event) で Qtreeview から項目を削除したいと考えています。これを行う最良の方法は何ですか?

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

multithreading - QT: ドキュメントと矛盾する QFileSystemModel _q_fileSystemChanged スロットが UI スレッドで実行される

私のUIは、QFileSystemModelでQTreeViewを使用して、フォルダーとファイルを選択できるようにしています。QFileSystemModel のドキュメントによると、ファイル構造の更新は別のスレッドで行われるため、UI はブロックされません。ただし、これは私には当てはまらず、矛盾や、他の人がこの問題に直面していない理由を理解できません。デバッグ後、ほとんどの時間がかかる QFileSystemModel _q_fileSystemChanged スロットがまだメイン UI スレッドで実行されていることに気付きました。これは理にかなっています。問題は、UI をブロックしないというよりも、ドキュメントがどのように主張しているかです。解決策はありますか?私は何か誤解していますか?

再現するには - QFileSystemDataModel で QTreeView を作成します - ルート パスを "" または "/" に設定します - QFileSystemModel _q_fileSystemChanged スロットにブレークポイントを設定します - アプリのロード後にドライブの 1 つを拡張します

問題: - UI スレッドでスロットが呼び出されるため、終了するまでアプリがブロックされます。

ファイル パーサーを高速化する方法はいくつかありますが、実際には別のスレッドで実行し、データが読み込まれて QTreeView の準備が整ったときに通知する必要があります。

ありがとう、イノケンティ

0 投票する
4 に答える
14688 参照

qt - (PyQt)QTreeView-すべての子供と孫を拡大/折りたたみたい

QTreeViewの特定のブランチのすべての子を展開または折りたたむことができるようにしたいと思います。私はPyQt4を使用しています。

QTreeViewには*にバインドされたすべての子の展開機能があることは知っていますが、2つのことが必要です。別のキーの組み合わせ(シフトスペース)にバインドする必要があり、すべての子も折りたたむことができる必要があります。 。

これまでに試したことは次のとおりです。QTreeViewのサブクラスがあり、シフトスペースキーの組み合わせをチェックしています。QModelIndexで「子」関数を使用して特定の子を選択できることは知っていますが、それには子の数を知る必要があります。internalPointerを確認することで子の数を取得できますが、それは階層の最初のレベルの情報しか提供しません再帰を使用しようとすると、多数の子カウントを取得できますが、これらを有効なQModelIndexに変換し直す方法がわかりません。

ここにいくつかのコードがあります:

これが私が調査していた再帰メソッドの始まりですが、実際に拡張状態を設定しようとすると、再帰内に入ると有効なQModelIndexとの「接触」が失われるため、行き詰まります...

これを見てくれてありがとう!

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

qt - qt: QTreeView に自動的に設定されるキーバインドを無効にしたい

私は PyQt4 と QTreeView を使用しています (ただし、これは直接 qt に簡単に適用できます)。

現在、右矢印と左矢印を使用してブランチの展開/折りたたみを制御するデフォルトのキー バインドがあります。残念ながら、これらのバインディングは理想的ではないため、無効にしたいと考えています。私はそれを行う方法を理解することができませんでした。QTreeView のデフォルトのキーバインディングを無効にする (または再割り当てする) 方法を知っている人はいますか?

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

c++ - QTreeViewの選択解除イベントをキャッチするにはどうすればよいですか?

QTreeViewの選択解除イベントをキャッチするにはどうすればよいですか?QTにはこのタイプのイベントがありますか? ありがとう