Python 3 – pyqtリストボックス-Pythonチュートリアル

リストボックス(QListWidget)いくつかのオプションがあります。 アイテムをクリックできます。 リストボックスの例は、曲のプレイリストです。 コンボボックスとは異なり、すべての可能なオプションが表示されます。

以下のスクリーンショットは、ウィンドウ内のPyQtリストボックスを示しています。

pyqtリストボックス

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

PyQtリストボックスの例

QListWidget

リストボックスウィジェットはで作成されます QListWidget()、アイテムベースのリストウィジェットを作成します。 ザ・ QListWidget QListViewによって提供されるものと同様のリストビューを提供しますが、従来のアイテムベースのインターフェイスを備えています。 1行で、listwidgetがウィンドウに追加されます。

1
self.listwidget = QListWidget()

次に、メソッドを使用してアイテムが追加されます .insertItem()。 例えば: self.listwidget.insertItem(0, "Red") ここで、最初のパラメーターはインデックスです。 その方法で多くのアイテムを追加できます。

1
2
3
4
self.listwidget.insertItem(0, "Red")
self.listwidget.insertItem(1, "Orange")
self.listwidget.insertItem(2, "Blue")
...

これで、アイテムのいずれかをクリックしても、何も実行されません。 したがって、スロットを関数呼び出しにイベント化する必要があります。 あなたは次の行でそれを行うことができます:

1
self.listwidget.clicked.connect(self.clicked)

clicked()は、呼び出されるスロットまたはメソッド(コールバックメソッド)です。
クリックイベントは、クリックされたメソッドで追加されます。 self.listwidget.clicked.connect(self.clicked)

以下のこの例は、リストウィジェットの使用方法を示しています(QListWidget)PyQtで。

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

class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
layout = QGridLayout()
self.setLayout(layout)
self.listwidget = QListWidget()
self.listwidget.insertItem(0, "Red")
self.listwidget.insertItem(1, "Orange")
self.listwidget.insertItem(2, "Blue")
self.listwidget.insertItem(3, "White")
self.listwidget.insertItem(4, "Green")
self.listwidget.clicked.connect(self.clicked)
layout.addWidget(self.listwidget)

def clicked(self, qmodelindex):
item = self.listwidget.currentItem()
print(item.text())

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

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

例をダウンロード

Hope this helps!

Source link