PyQt5 ListWidget fügen Sie Elemente der Liste

beim lernen PyQt5 fand ich ein kleines problem( vielleicht ein bug) in der ListWidget Widget (und allen anderen widgets)

den ListWidget haben eine addItem Methode überladen :
( der code ist in c++, aber dies ist die gleiche Schnittstelle in pyqt )

void    addItem(const QString &label)
void    addItem(QListWidgetItem *item)
void    addItems(const QStringList &labels)

also das problem ist, dass in PyQt5 es ist nicht mehr QStringList geben, und ich sollte eine einfache Liste von strings anstatt der QStringList

aber wenn ich empfangen und Fehler mir zu sagen, dass keine Methode entsprechend der vorgegebenen Parameter :

Traceback (most recent call last):
  File "main.py", line 21, in <module>
    listWidget.addItem(ls)
TypeError: arguments did not match any overloaded call:
  addItem(self, QListWidgetItem): argument 1 has unexpected type 'list'
  addItem(self, str): argument 1 has unexpected type 'list'

Hier ist mein code :

from PyQt5 import QtGui, QtCore, QtWidgets
from PyQt5.QtWidgets import *

import sys


if __name__ == '__main__':

    app = QApplication(sys.argv)


    listWidget = QListWidget()
    listWidget.show()

    ls = ['test', 'test2', 'test3']

    listWidget.addItem('test')
    listWidget.addItem('test2')
    listWidget.addItem('test3')

    listWidget.addItem(ls)

    sys.exit(app.exec_())

InformationsquelleAutor karim | 2017-03-08

Schreibe einen Kommentar