1.QPushButton 鼠标未点击和点击显示不同的图片:虽然简单,但我还是花费了时间才找到。拿出来分享给急需的人。
注释:pRight1为new出来的Button
const char* normal1 = ":/images/pic01.jpg";
const char* pressed1 = ":/images/pic01_on.png";
char str1[512] = {0};
sprintf(str1,"QPushButton{background-image:url(%s);border-style:flat;background-attachment:fixed;}QPushButton:hover:pressed{background-image:url(%s);border- style:flat;background-attachment:fixed;}", normal1, pressed1);
pRight1->setStyleSheet(QString(str1));
2.widget 背景贴图
QPixmap pixmap(":/images/bg.png");
QPalette palette;
palette.setBrush(this->backgroundRole(),QBrush(pixmap));//单独使用这句话的时候,布局中的listwidget底色还是原来的
palette.setBrush(QPalette::Base, QBrush(pixmap));//listwidget部分的
palette.setBrush(QPalette::Window, QBrush(pixmap));
this->setPalette(palette);
//this->setMask(pixmap.mask()); //可以将图片中透明部分显示为透明的 这句话使得最大化窗口的时候出现问题
this->setAutoFillBackground(true);