Как я могу добавить значки для элементов в qt listwidget?

как показано на снимке, я хочу добавить соответствующие цветные значки для элементов в listwidget, например, синий значок для blue.png и т. д. Как я могу это сделать?

и после того, как я перетащу элементы из доступных текстур в выбранные текстуры, в этом виджете также должен появиться значок.

if __name__ == "__main__":
    
    ui_obj = TextureSwatcherUI()
    files = []
    for i in os.listdir("Q:/...../tex_source/"):
        files.append(i)
        list_item = QListWidgetItem(i, ui_obj.available_textures)
        list_item.setIcon("Q:/...../tex_source/red.png") 

Это фрагмент, в котором я пытался получить все файлы и добавить их в свой виджет, теперь мне также нужно добавить соответствующие значки рядом с ними.

QListWidgetItem::setIcon?
G.M. 05.01.2023 12:37

@G.M. я знаю, что это может быть простой метод, но я новичок в этом, и мне нужно использовать его в качестве одной из моих задач, пытаясь использовать его с помощью python, но он выдает ошибки QtGui, не найденные, когда я использую этот "listItem.setIcon (QtGui.QIcon())", если вы можете помочь мне с этим, буду очень благодарен.

Kartikey Sinha 05.01.2023 14:22

Тогда, пожалуйста, отредактируйте свой вопрос, чтобы показать свой код и то, что вы уже пробовали.

G.M. 05.01.2023 14:27

@G.M. Я добавил необходимый фрагмент кода

Kartikey Sinha 05.01.2023 14:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
4
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я создаю один минимальный пример, чтобы показать, как вы можете добавить значок в QListWidgetItem.

Вы должны создать один QListWidgetItem и установить для него один значок, имя (текст) и т. д., а затем добавить его в QListWidget.

вам не нужно было добавлять их с помощью цикла for.

import sys
from PySide6.QtWidgets import QApplication,QListWidget,QListWidgetItem
from PySide6.QtGui import QIcon

def main():
    app = QApplication(sys.argv)
    listWidget = QListWidget()

    #Resize width and height
    listWidget.resize(300,120)
    icon1 = QIcon("/home/parisa/ListWidget/check.png");
    listWidget.addItem(QListWidgetItem(icon1,"Item 1"));
    icon2 = QIcon("/home/parisa/ListWidget/crossout.png");
    listWidget.addItem(QListWidgetItem(icon2,"Item 2"));
    listWidget.addItem(QListWidgetItem("Item 3"));
    listWidget.addItem(QListWidgetItem("Item 4"));


    listWidget.setWindowTitle('This is Minimal Example')

    listWidget.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


Результат:

Можно ли добавлять иконки без Pyside? Поскольку я собираюсь использовать его в различных версиях майя, а pyside поддерживает не все из них, поэтому могут возникнуть некоторые конфликты.

Kartikey Sinha 05.01.2023 17:29

@KartikeySinha да, просто импортируйте QApplication,QListWidget,QListWidgetItem и QIcon так, как вы знаете. код будет работать

Parisa.H.R 05.01.2023 17:37

Другие вопросы по теме