我想在运行时更改QFrame背景,但是,我会从磁盘(图像)加载背景。 在QFrame设置样式表不起作用,因为图像不在资源中。
一种方法是设置QPushButton图标,例如:
QPixmap img("/images/01.png");
ui.pushButton->setIcon(QIcon(img));
但是,QPushButton对我没用。我需要把其他东西放在QFrame中。
答案 0 :(得分:5)
根据我在您的问题中的理解,您不想使用资源? 如果是这种情况,您可以执行以下操作:
ui->frame->setFrameStyle(QFrame::StyledPanel);
ui->frame->setStyleSheet("background-image: url(C:/test.jpg)");
答案 1 :(得分:4)
你也可以尝试这样的事情:
QPalette pal;
pal.setBrush( ui.frame->backgroundRole(), QBrush( QImage( "/images/01.png" ) ) );
ui.frame->setPalette( pal );