我正在一个项目中,该项目在一个组中有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是我的按钮。

我做错了什么?或更妙的是,我什至可以更改现有按钮的图标吗?

谢谢你的时间 :)

最佳答案

如果您在Windows上使用MSVC作为编译器,并且想要使用Qt的资源系统,则需要添加

Q_INIT_RESOURCE(res)


main()的开头,其中res是您的.qrc文件的名称,不含“ .qrc”。

要全面了解这一点,请查看以下要点:

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

关于c++ - (Qt C++)QPushButton setIcon()不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17635467/

10-15 06:25