2017-03-08 26 views
2

PyQt5を学びながら、私はListWidgetウィジェットで少し問題が(たぶんバグ)(および他のすべてのウィジェット)PyQt5 ListWidget追加リスト項目

ListWidgetを発見したが、オーバーロードaddItem方法があります: (コードはCであるが++これは)

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

のPyQtで同じインターフェイスであるので問題はPyQt5にこれ以上QStringListタイプが存在しないということであり、私が代わりにQStringList

の文字列の単純なリストを使用する必要があります3210

しかし、私が受け取ると何の方法が与えられPARAMATERS一致しないことを私に告げるエラー:ここ

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' 

が私のコードです:

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_()) 

答えて

3

リストを追加したい場合は、機能addItems()を使用する必要があります。 。 変更:

listWidget.addItems(ls) 
+0

listWidget.addItem(ls) 

男ああ、私はSの文字を逃した。■感謝 – karim

関連する問題