我想在运行时更改QFrame背景,但是,我会从磁盘(图像)加载背景。 在QFrame中设置样式表不起作用,因为图像不在资源中。设置从磁盘加载的背景图像
一种方法是设置一个QPushButton图标,例如:
QPixmap img("/images/01.png");
ui.pushButton->setIcon(QIcon(img));
但是,一个QPushButton对我来说并不实用。我需要将其他东西放在QFrame中。
我想在运行时更改QFrame背景,但是,我会从磁盘(图像)加载背景。 在QFrame中设置样式表不起作用,因为图像不在资源中。设置从磁盘加载的背景图像
一种方法是设置一个QPushButton图标,例如:
QPixmap img("/images/01.png");
ui.pushButton->setIcon(QIcon(img));
但是,一个QPushButton对我来说并不实用。我需要将其他东西放在QFrame中。
从我的理解你的问题,你不想使用资源? 如果是这样的话,你可以这样做:
ui->frame->setFrameStyle(QFrame::StyledPanel);
ui->frame->setStyleSheet("background-image: url(C:/test.jpg)");
您也可以尝试这样的事:
QPalette pal;
pal.setBrush(ui.frame->backgroundRole(), QBrush(QImage("/images/01.png")));
ui.frame->setPalette(pal);
即使对于QWidget也是如此。 – 2011-10-04 06:29:58
完美,这就是我一直在寻找。 我不知道可以这种方式应用背景。 Tkanks! – 2009-08-14 06:34:24