簡體   English   中英

如何獲取選定的項目 QlistWidget pyqt

[英]How to get selected item QlistWidget pyqt

當用戶在 QlistWidget 中選擇一個項目然后單擊按鈕以獲取此元素時,我想獲取所選元素

試試這個:

from PyQt5.QtWidgets import (QWidget, QListWidget, QVBoxLayout, QApplication)
import sys

class Example(QWidget):

    def __init__(self):
        super().__init__()


        self.l = QListWidget()
        for n in range(10):
            self.l.addItem(str(n))

        self.l.itemSelectionChanged.connect(self.selectionChanged)

        vbox = QVBoxLayout()
        vbox.addWidget(self.l)

        self.setLayout(vbox)
        self.setGeometry(300, 300, 300, 300)
        self.show()

    def selectionChanged(self):
        print("Selected items: ", self.l.selectedItems())


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

使用這種方法,您將打印通過單擊、使用鍵盤箭頭或在其上拖動鼠標來選擇的所有項目。

您可以使用 QListWidget 類中的 itemActivated 信號並將其綁定到您的某些方法。

yourQListWidget.itemActivated.connect(itemActivated_event)

def itemActivated_event(item)
    print(item.text())

現在,每次用戶單擊 QListWidget 中的某個項目時,都會打印該項目內的文本。

將方法綁定到來自 QListWidget 的 itemClicked 信號似乎也有效:

yourQListWidget.itemClicked.connect(itemClicked_event)

def itemClicked_event(item):
    print(item.text())

對我來說, itemClicked 信號適用於單擊項目,而 itemActivated 則適用於雙擊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM