2016-11-13 13 views
0

QLineEditの特定の文字数の後にのみ予測を開始するQCompleterが必要です。私はQLineEditとQCompleterからシンプルなクラスを書いていますが、この機能を追加する方法はわかりません。pyqt - QLineEditで一定数の文字の後にQCompleterを有効にします。

class Completer(QtWidgets.QCompleter): 

    def __init__(self, parent=None): 
     super(Completer, self).__init__(parent) 

     self.setCaseSensitivity(Qt.CaseInsensitive) 
     self.setCompletionMode(QtWidgets.QCompleter.PopupCompletion) 
     self.setFilterMode(Qt.MatchStartsWith) 


class LineEditCompleter(QtWidgets.QLineEdit): 

    def __init__(self, parent=None): 
     super(LineEditCompleter, self).__init__(parent) 
     self.completer = Completer(self) 
     self.setCompleter(self.completer) 

は、私は、テキストの長さが3未満の場合setCompleter(None)QLineEditからtextChangedをオーバーライドして、私が使用している場合コンプリータが削除されたようだ、それは動作しませんが、3以上の場合はそれを再度アクティブにしようとしましたsetCompleter(None)

これを達成する可能性はありますか?

ありがとうございました。

答えて

0

かなりよく説明されているblogしかし、あなたが探しているものを得るためにQlineEditとQCompleterを実装する必要があります。あなたがそのブログの投稿から見ているものを見つけることができない場合は、私たちに教えてください。

+0

そのブログ記事はOPの質問には全く答えません。実際にコードを試しましたか? – ekhumoro

+0

@Achayan、私はこのブログで私が探していたものが見つかりませんでした。 – SyedElec

関連する問題