真心求教,button 设置图像有关问题

真心求教,button 设置图像问题
C/C++ code

void Icon_memory::on_pushButton_released()
{
    
        QImage * image = new QImage(tr("Sunset.jpg"));
        QSize s = ui.pushButton->size();//the button you would to set the back;
        QImage * i2 =new QImage(image->scaled(s));//adapt the size of button;
        QIcon iocn_ = QIcon(QPixmap::fromImage(*i2));
    1)    ui.pushButton->setIcon(iocn_);
        ui.pushButton->setIconSize(s);
        
        delete i2;
        delete image;
        
}

void Icon_memory::on_pushButton_pressed()
{
    


    QImage * image = new QImage(tr("Winter.jpg"));
    QSize s = ui.pushButton->size();//the button you would to set the back;
    QImage * i2 =new QImage(image->scaled(s));//adapt the size of button;
    QIcon iocn_ = QIcon(QPixmap::fromImage(*i2));
1)    ui.pushButton->setIcon(iocn_);
    ui.pushButton->setIconSize(s);
    
    delete i2;
    delete image;
    
}




上述代码我删掉 1)在任务管理器上面看 内测不会增加,加上1) 任务管理器 上每次的button被按下和释放 内测都要增加一些。 这个问题1个月了 哪位大神出来99 我啊 我是真心求教啊 为啥子没人理啊???

有人提供解决的思路和办法 我马上加分 大神出来99我吧

------解决方案--------------------
为什么卜用QPalette呢

例如:
p_button->setAutoFillBackground(true);
QPixmap pixmap(p_button.backGraph);【p_button.backGraph背景图片路径】
QPalette palette;
palette.setBrush(p_button->backgroundRole(),QBrush(pixmap));
p_button->setPalette(palette);

【 我也是初学者 卜知道你想要的是怎样的效果 只是说啦一下个人见解 呵呵.. 希望可以帮到你..】

------解决方案--------------------
呃 既然用Qt了 慢慢可以了解一下stylesheet的 感觉qss还是很好用的 楼主的意思是要让按钮点击时和释放时显示不同的图片

ui->pushButton->setStyleSheet(" \
QPushButton{\
border-image:url(Sunset.jpg);\
}\
QPushButton:pressed {\
border-image:url(Winter.jpg);\
}");


------解决方案--------------------
探讨

呃 既然用Qt了 慢慢可以了解一下stylesheet的 感觉qss还是很好用的 楼主的意思是要让按钮点击时和释放时显示不同的图片

ui->pushButton->setStyleSheet(" \
QPushButton{\
bord……

------解决方案--------------------
border-image 就是自适应大小的, background-image不能自适应大小
------解决方案--------------------
p_button->setStyleSheet(("border-image:url(图片路径);");
------解决方案--------------------
>>>>非常感谢楼上提供的帮助,我想问下 qassistant 还有没有系统介绍QSS的书籍?


《C++ GUI Programming with Qt 4》书中有一点介绍QSS的,但是不多,建议楼主看一些CSS的书,个人感觉两个东西还是挺像的
------解决方案--------------------
探讨

引用:

border-image 就是自适应大小的, background-image不能自适应大小

恩可以起作用,但我现在还是想知道我上面为什么内存漏了。
现在这个button有二种方法来做,一个是用qss 一个是重新封装QLabel 响应 鼠标的event

非常感谢楼上提供的帮助,我想问下 qassistant 还有没有系统介绍QSS的书……

------解决方案--------------------
虽然 delete i2; 也 delete image;了,但是icon的确作为一个属性被你加在button上了,看setIcon源码是最能解决你问题的办法了。