我有很多要将图标设置为的按钮。此外,每个按钮的图标都不相同。
我只为其中之一做此操作:
QString str=(qApp->applicationDirPath());
str.append("/pic/kb.png");
QPixmap pixmap(str);
QIcon ButtonIcon(pixmap);
ui->btnShowKB->setIcon(ButtonIcon);
ui->btnShowKB->setIconSize(pixmap.rect().size());
但是我确实有很多按钮(btn1,btn2,btn3,....,btn9)。
如何为其他按钮(/pic/1.png、/pic/2.png、/pic/3.png、....、/pic/9.png)设置其他图像?我是否必须为每个地图创建一个新的QPixmap,还是有一个更简单的解决方案?
在执行此操作时,代码中唯一发生变化的地方就是文件名和要将图标设置为的按钮。因此,您应该创建一个以QString和一个按钮作为参数的方法,并在需要它作为所需按钮时调用它。(在下面的代码中,我使用aQPushButton
作为按钮,也许对您来说有所不同,所以请相应地进行更改)。
void yourClass::setButtonIcon(QString iconPath, QPushButton* button)
{
qApp->applicationDirPath().append(iconPath);
QPixmap pixmap(str);
QIcon buttonIcon(pixmap);
button->setIcon(ButtonIcon);
button->setIconSize(pixmap.rect().size());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句