QListWidget을 가지고 있는데 거기에 문자열이 있으면 문자열을 선택할 때 색인 번호와 텍스트를 표시하려고합니다. 하지만 문제는 하나 이상의 항목을 선택하면 모든 색인이 표시되지 않는다는 것입니다. 하나만 표시합니다.두 개 이상의 항목이 선택된 경우 QListWidget에 두 개 이상의 항목을 인쇄하는 방법
from PyQt5.QtWidgets import *
import sys
class Pencere(QWidget):
def __init__(self):
super().__init__()
self.layout = QVBoxLayout(self)
self.listwidget = QListWidget(self)
self.listwidget.addItems(["Python","Ruby","Go","Perl"])
self.listwidget.setSelectionMode(QAbstractItemView.MultiSelection)
self.buton = QPushButton(self)
self.buton.setText("Ok")
self.buton.clicked.connect(self.but)
self.layout.addWidget(self.listwidget)
self.layout.addWidget(self.buton)
def but(self):
print (self.listwidget.currentRow()+1)
uygulama = QApplication(sys.argv)
pencere = Pencere()
pencere.show()
uygulama.exec_()
두 개 이상의 항목을 선택하면 어떻게하면 모든 항목 이름과 색인을 표시 할 수 있습니까?
으로 해결하지만 어떻게 그 방법으로 선택한 항목의 인덱스와 문자열을 인쇄 할 수 있습니까? – GLHF
이렇게 ['<0x0DEDEA0>에에 '를 인쇄합니다. 예를 들어'Python, Ruby'를 어떻게 인쇄 할 수 있습니까? –
GLHF
텍스트의 경우 [QListWidgetItem의 API] (http://pyqt.sourceforge.net/Docs/PyQt4/qlistwidgetitem.html), 특히 ['text()'] (http : //pyqt.sourceforge. net/Docs/PyQt4/qlistwidgetitem.html # text) 함수를 사용하고 색인의 경우 QListWidget의 ['indexFromItem()'] (http://pyqt.sourceforge.net/Docs/PyQt4/qlistwidget.html#indexFromItem) 및 그것의 각각의 ['row()'] (http://pyqt.sourceforge.net/Docs/PyQt4/qmodelindex.html#row) 함수. –