QPushButton QWidget 背景贴图

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);

你可能感兴趣的:(url,button)