問題タブ [qcompleter]
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.
python - mapToSourceに渡された間違ったモデルからのPyQt QSortFilterProxyModelインデックス?
[(1, 'cb'), (3, 'cd'), (7, 'ca'), (11, 'aa'), (22, 'bd')]
ドロップダウンのオートコンプリート項目を選択したときに格納されている整数を取得したい。
QSortFilterProxyModel を使用したため、下キーを使用してアイテムを選択すると、インデックスはプロキシ モデルから取得されます。
mapToSource
元のモデルでインデックスを取得するために使用する必要があるドキュメントを読みましたが、ここでエラー メッセージが表示index from wrong model passed to mapToSource
され、index.row()
常に -1 です。私は何が欠けていますか?ありがとう!
エラーは次のとおりです。
コード:
更新: これは解決されました。#pyqt の Avaris からの支援に感謝します。インデックスを元のモデルにマップするためにこれを行うことができることがわかりました
またはさらに良い:
なぜなら: " completionModel() は実際には .model() のプロキシモデルです
そのために mapToSource を台無しにする必要はありません。index.data(Qt.UserRole) は、返されるインデックスに関係なく、その番号を提供する必要があります
参考までに、(プロキシ)モデルの外で mapToSource を使用する必要はほとんどありません。それは主に内部使用のためのものです。適切なプロキシは、関連するすべてのクエリをソースから転送する必要があります。そのため、ソース プロキシを使用しているかのようにプロキシを使用できます -Avaris "
python - Python の任意の位置からのオートコンプリート
任意の位置に入力されたテキストに基づいて、pyqt の QLineEdit ウィジェットにオートコンプリートの結果を表示する必要があるという要件があります。これまでのところ、テキストの最初から実行できます
例:「こんにちは、私はスリムな日陰です」 、ここでは「こんにちは」と入力するとオートコンプリートですべてのテキストを表示できますが、文の任意の位置間または任意の位置から検索できる機能が必要です。
私のコードは:-
xml - XML ファイルを QAbstractItemModel に変換する
QtWidget (QPlainTextEdit) の自動補完機能を構築したいと考えています。使用したいキーワードは XML ファイルに格納されています。QCompleter に XML ファイルを取得する簡単な方法はありますか? QCompleter は、QAbstractItemModel または QStringList で呼び出すことができます。そのため、XML ファイルをこれら 2 つのいずれかに変換する関数があることを期待しました。これは可能ですか、それとも XML ファイルを 1 行ずつ読み取って、モデルまたはリストを埋める必要がありますか?
ヒントをありがとう。