簡體   English   中英

PyQt5 ListWidget添加列表項

[英]PyQt5 ListWidget add list items

在學習PyQt5時,我在ListWidget小部件(以及所有其他小部件)中發現了一個小問題(可能是一個錯誤)

ListWidget有一個addItem方法重載:(代碼在c ++中,但是在pyqt中是相同的接口)

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

所以問題是在PyQt5中不再有QStringList類型,我應該使用一個簡單的字符串列表而不是QStringList

但是當我收到錯誤並告訴我沒有方法匹配給定的參數時:

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

如果要添加列表,則必須使用功能addItems() 更改:

listWidget.addItem(ls)

listWidget.addItems(ls)

暫無
暫無

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

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