問題タブ [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.
qt - QLineEdit: ディレクトリ名にバックスラッシュを自動的に追加します
の有効なファイル パスにバックスラッシュを自動的に追加しようとしていますQLineEdit
。これは、の現在のパスを表示するために使用されQFileSystemModel
ます。
コードは次のようになります。
コードを実行すると、次の出力が得られます。
EnterlineEdit内からキーを押すと問題なく動作しますがQCompleter
、テキストが. どういうわけかQCompleter
テキストの設定を解除しますか?
python - qlineeditへのPyQt4コンプリーター
行編集ウィジェットのコンプリータを作成しようとしています。
信号は次のとおりです。
そして、ここに関数があります:
入力すると、プログラムは完了するコンテンツを表示し、その後、python プロセスがフリーズしてクラッシュします。
私は64ビットのWindows 7でpyqt4を使用してPython 2.7.3を実行しています.32ビットOSの他のコンピューターでも同じセットアップがあり、正常に動作しています。
c++ - QTableView + QCompleter デリゲートが間違った値を返す
Qt (C++) を使用しています。具体的には、QCompleter
. 私はQtが初めてで、これに苦労しています。
私の問題はQCompleter
、正しい値が表示されていても、返されるデータが常に最初の要素のデータであることです。
たとえば、次のデータがある場合 (ダッシュで区切られたフィールド、構成されたデータ):
Dと入力すると、QCompleter に 3 つのオプションが表示されますが、どちらを選択しても、次のようになります。
- 実際のセルは「正しく」編集されます (値は選択されたものを反映します)
- コールバックは間違った値 (常に最初の要素の ID) を受け取ります。
したがって、この場合、私は常に取得します (名前がオートコンプリート フィールドであると仮定します): 1-Daniel-197598713-Los Angelesまたは1-Don-197598713-Los Angelesまたは1-David-197598713-Los Angeles
また、何らかの理由で、 setEditorData プロシージャはまったく何もしません (コメントしても、動作はまったく変わりません)。
これは私の全体のデリゲートソースです:
html - QTextEdit 略語システムを追加
私は現在、テキスト エディターに取り組んでいます。短縮システムを作成したいと考えています。たとえば、html5 を記述してキー タブを押すと、たとえば次のようなコードが展開されます。
間違ったキーワードを使用したのかもしれませんが、このような関数を作成する方法がわかりません。私は QCompleter クラスを見つけましたが、省略されたシステムというよりは完成に近いようです。
誰でも私を助けることができますか?よろしく、 zed13
qt - 複数のモデル/カテゴリを持つ QLineEdit の完成
QLineEdit
いくつかの補完モデルを取り、それらをカテゴリとして整理できるの補完を構築したいと思います。
QSortFilterProxyModel
アイテムのツリーモデルとツリーモデルに基づく実用的なソリューションがあります。
モデルのルート アイテムはカテゴリとして表示され、各ルート アイテムの子はフィルターされたアイテムとして表示されます。次に、カスタマイズQTreeView
されているため、これは適切に表示され、タブ移動はカテゴリを無視します。
これは問題なく動作しますが、新しい補完を書き込むのが非常に難しくなります (設定の可能な値など)。
各補完は、すべてのカテゴリを含むツリー モデルである必要があります。カテゴリごとに単純なリスト モデルを作成し、それらを に結合できるようにしたいと考えていますQTreeModel
。つまり、次のようなものです (疑似 Python コード)。
私が念頭に置いていたいくつかの異なる解決策がありますが、それらのすべてを実装するのは自明ではないと感じているため、どのルートに進むべきかわかりません。
- いくつかのリスト モデルを 1 つのツリー モデルに結合する
QAbstractProxyModel
ようなクラス (またはカスタム モデル) を記述し、ビュー部分はそのまま残します。
ただし、Python でカスタム ツリー モデルを作成するのは難しく (通常、何か間違ったことをすると segfault が発生します)、過去にパフォーマンスの問題がありました (QStandardItemModel
基礎となるモデルには数千のアイテムがあるため、 と比較して)。
- ツリー モデル (与えられたカテゴリとアイテムのリスト) を満たす各モデルの関数を記述します。
これにより、静的アイテムのリストだけでなく、動的モデルを作成することが難しくなります。
QVBoxLayout
いくつかのリスト モデルを使用し、ビューが のになるように調整しますQListView
。
これは、これまでのところ最も有望に思えます。ただし、補完とフィルタリングによるタブ移動を実装して正しく機能させるのも面倒で、サブビューのサイズも適切に変更する必要があります。
私が考慮していないこれを行う簡単な方法はありますか?将来的に最も痛みが少ないと思われるアプローチはどれですか?
c++ - QCompleter ランタイム クラッシュ
Code Completer を実行したいので、QCompleter をサブクラス化しました。
http://hastebin.com/qyumevisa.cpp
しかし、このコードを実行しようとすると、ランタイム エラーが発生します。
デバッグ出力には次のように表示されます。
クラッシュは 53 行目から発生しているようです。
このバグを修正するにはどうすればよいですか? ありがとう
qt - QCompleter ポップアップ位置
QCompleter ポップアップ ビューの位置を移動しようとすると問題が発生します。
QCompeter:completeを試してみましたが、必要な位置に完全なビューが表示されます。しかし、入力を開始すると、それを閉じて、「デフォルト」の位置でコンプリーターを開きます。
QCompleter:setPopup()関数も試しました。QListView を作成し、別の位置に移動しようとしました。それでも、QCompleter ポップアップ ビューは同じ位置に残ります。
私のプロジェクトでは、QLineEdit をラップする QFrame を使用しています。そして、完全なビューが QFrame の位置を取得することを望みます。setFixedWidth() 関数を介して完全なビュー幅を設定することに成功しました。ただし、位置を移動することはできません。
助言がありますか ?
ありがとう。