(Qt C ++) QPushButton setIcon () не работает

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

Вот мой текущий код:

QPixmap b1d0(":/textures/blocks/textures/blocks/stone.png");

QIcon ButtonIcon(b1d0);
ui->slot_0->setIcon(ButtonIcon);
ui->slot_0->setIconSize(b1d0.rect().size());

Путь к ресурсу был скопирован прямо из моего файла ресурсов, так что он правильный, я его испортил как сумасшедший, но без изменений, так

slot_0 — моя кнопка.

Что я сделал не так? Или, что еще лучше, я даже могу изменить значок существующей кнопки?

Спасибо за ваше время 🙂

0

Решение

Если вы используете Windows в качестве компилятора MSVC и хотите использовать систему ресурсов Qt, вам нужно будет добавить

Q_INIT_RESOURCE(res)

к началу main()где res — это имя вашего файла .qrc без «.qrc».

Чтобы получить полное представление об этом, посмотрите на эту суть:

https://gist.github.com/alexreinking/5992821

1

Другие решения

Других решений пока нет …