Python 3 – pyqtオートコンプリート-Pythonチュートリアル

PyQtはサポートします オートコンプリート。 テキストボックスに入力した場合(QLineEdit)、それは提案をすることができます。 それらの提案はリストから推奨されます。

あなたはウェブからこれを知っているかもしれません、あなたがタイプしている間、グーグル検索はしばしば推薦を示します。 PyQtでも同様のことができます。

この例では、オートコンプリートをに追加します QLineEdit テキストボックス。

オートコンプリートQLineEdit

画像:pyqtウィンドウに表示されているタブ。

関連コース: PythonPyQt5でGUIアプリを作成する

オートコンプリート

QLineEditオートコンプリートの例

オプション(名前)/提案のリストを作成することから始めます。 次に、QCompleterを作成します。 completer = QCompleter(names)

1
2
names = ["Apple", "Alps", "Berry", "Cherry" ]
completer = QCompleter(names)

QLineEditウィジェットは、ウィンドウに追加できるシンプルなテキストボックスです。
線で線編集ウィジェットを作成できます self.lineedit = QLineEdit()。 それ以外の場合、行編集は通常どおり機能します。

1
self.lineedit = QLineEdit()

(前に定義した)提案をリストに追加できます。 提案は次の行に追加されます。

1
self.lineedit.setCompleter(completer)

最後の行を忘れた場合、 QCompleter そして QLineEdit 接続されていない、つまり オートコンプリート

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PyQt5.QtWidgets import *
import sys

class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
layout = QGridLayout()
self.setLayout(layout)


names = ["Apple", "Alps", "Berry", "Cherry" ]
completer = QCompleter(names)


self.lineedit = QLineEdit()
self.lineedit.setCompleter(completer)
layout.addWidget(self.lineedit, 0, 0)

app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())

Python PyQtを初めて使用する場合は、 それなら私はこの本を強くお勧めします。

Hope this helps!

Source link