QListWidgetがあり、そこに文字列があります。文字列を選択すると、そのインデックス番号とテキストを表示したかったのです。しかし、問題は、複数のアイテムを選択すると、すべてのインデックスが表示されないということです。 1つしか表示されません。複数のアイテムが選択されている場合、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
このように '[、] 'を印刷します。たとえば、 'Python、Ruby'をどうすれば印刷できますか? –
GLHF
テキストについては、[API of QListWidgetItem](http://pyqt.sourceforge.net/Docs/PyQt4/qlistwidgetitem.html)、特に['text()'](http://pyqt.sourceforge)を参照してください。インデックスにはQListWidgetの['indexFromItem()'](http://pyqt.sourceforge.net/Docs/PyQt4/qlistwidget.html#indexFromItem)を使用し、それぞれの['row()'](http://pyqt.sourceforge.net/Docs/PyQt4/qmodelindex.html#row)関数を呼び出します。 –