問題タブ [qtreewidgetitem]

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 に答える
1301 参照

c++ - QTreeWidgetItem の一部の背景またはテキストの色を変更するにはどうすればよいですか

C++ で Qt アプリケーションを開発しています。アプリケーションは、システム内の各エンティティのサブツリーを持つツリー ウィジェットを中心にしています。エンティティには、ユーザーが指定できる「ハイライト」色があり、特定のエンティティに関連するイベントを強調表示します。エンティティ ルート ツリー アイテムの背景色は、エンティティのハイライト カラーです。エンティティに関連するイベントが発生した場合、エンティティに一致する識別子の背景色をエンティティのハイライト色と同じにしたいと考えています。これは、私がやろうとしていることの大まかなモックアップです。疑似 HTML タグで色と必要な場所を示しています。

私が理解しているように、これは QTreeWidgetItem では直接可能ではありません。カスタム ペインティングを処理するツリー アイテムのデリゲートを提供できることはわかっていますが、Qt の QStyle 部分に精通していません。当社のお客様は、XP および Win7 でこのアプリケーションを使用し、WindowsClassic スタイルが有効になっている場合とされていない場合があります。そのため、すべての QStyle の可能性を処理することは非常に複雑になる可能性があります。ツリー項目の描画ニーズのすべての潜在的な部分を処理する必要なく、QStyle に必要な背景色で必要なテキストの部分を描画させるショートカットはありますか?

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

qt - QTreewidget の QPushbutton のクリック イベントで行のインデックスを取得する方法。

QTreeWidget の各行に QPushbutton があります。QPushbutton のクリック イベントで行のインデックスを取得したい。私はこれを使用しています:

このクリックイベントで、クリックされたボタンの行のインデックスを取得したいですか? ありがとう、アシッシュ

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

list - QtableWidget 列にアイテムのリストを追加

QtreeWidget 列にアイテムのリストを挿入しようとしています。各データは各列に挿入されるため、列と同じ数のアイテムがあります。MVC アーキテクチャを使用していますが、挿入に失敗しました!

これは私の見解です:

これは私のモデルです:

これが私のコントローラーです:

誰かが間違っていることを見つけるのを手伝ってくれますか?

UDPDATE

アイテムのリストを QtreeWidget に追加する方法をビューで変更しました。これは私にとってより論理的だと思われます

私の新しい見解:

しかし、今、デバッグする malloc_error_break があります。これは、アイテムを割り当てていないためだと思いますが、Python では、アイテムのリストで QTreeWidgetItem *items= new QTreeWidgetItem() を実行するにはどうすればよいですか??

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

c++ - QTreeWidget C ++でメモリから個々のアイテムを展開する

私は Qt を持っており、QTreeWidget展開されたヘッダー項目の状態を保存しようとしています。これにより、ツリーを新しい情報で更新すると、以前に展開された項目を再度展開できるようになります。

itemExpandedorが出力されるたびに、itemCollapsed signalそれを a でキャッチし、その特定のアイテムslotのメンバーに保存して、boolean展開されたものが現在trueまたはであるかどうかを表しfalseます。これは私の記憶です。

ツリーをリフレッシュするときは、ツリーを完全にクリアします

次に、次を使用してすべてのヘッダーを折りたたみます

ここで、どのアイテムが展開されたかを復元しboolean、アイテムが以前に展開されたか折りたたまれていたかを表すそれぞれを使用して展開された状態に設定したいと思います

booleanだけからアイテムのインデックスを取得する方法が特にわかりません。

私はそう思ったでしょう

位置 0のインデックスを取得し、位置 0に関連付けられたtoplevelitemmy を使用して、アイテムを展開するかどうかを決定できますか?boolean

これは、ツリー内の各アイテムを表す「ブール値」ごとに実行したいという私の問題も解決しません。

前もって感謝します。

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

qt - 特定の QTreeWidgetItem に QItemDelegate を設定する

QItemDelegate特定の にを設定することは可能QTreeWidgetItemですか? QTreeWidgetItemの一部を特定の色で着色する必要があります。

私たちが持っているようにそれは可能QAbstractItemView::setItemDelegateForRowだと思いますが、方法がわかりません。QAbstractItemView::setItemDelegateForRow内の子行にカスタム デリゲートを設定する必要があるため、使用できませんQTreeWidget

誰かがその解決策を知っていますか?

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

c++ - QTreeWigetItem - クリックを管理して項目テキストの名前を直接変更する方法

QTreeView を作成しました。これは QTreeWidgetItem によってファイルされます。私のアプリケーションは一種のファイル ブラウザです。

ViewTree は次のように定義されます。

アクションについて以下に定義されているように、「フォルダーの追加」ボタンを追加しました。

// MyTree->edit(selectedItem());

ご覧のとおり、デフォルトでは、mtp FS システム上に「NewFolder」を作成します。

フォルダを作成する前にやりたいことは、「NewFolder」の名前をユーザーが望むものに変更できるようにしたいです。テキストを入力するためのポップアップを作成したくありません。私が欲しいのは、「一種の名前変更」動作です。フォルダがツリービューに表示され、新しいフォルダが選択され、テキストを直接変更できるようになります。フォルダ名を 1 回クリックしたときの Finder のように、フォルダ名が選択され、ユーザーはポップアップなしで Finder で名前を変更できます。

ありがとう