| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
QWidget *widget = new QWidget();
widget->setAutoFillBackground(true); // 這句要加上, 否則可能顯示不出背景圖.
QPalette palette = widget->palette();
palette.setBrush(QPalette::Window,
QBrush(QPixmap("1.png").scaled( // 縮放背景圖.
widget->size(),
Qt::IgnoreAspectRatio,
Qt::SmoothTransformation))); // 使用平滑的縮放方式
widget->setPalette(palette); // 至此, 已給widget加上了背景圖.
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(widget);
QWidget *mw = new QWidget();
mw->setLayout(layout);
mw->resize(500, 500);
//mw->setWindowFlags(Qt::FramelessWindowHint);
mw->show();
return a.exec();
}
很多朋友都問透明的效果怎么做,為什么自己做的無邊框窗體不可移動,一個個回答的很累,干脆寫出來分享下好了,我只用代碼說話。
關(guān)鍵的語句,就是其中的
RC_FILE = myapp.rc
其中myicon.rc為rc文件。
{
QPainter painter(this);
QPixmap pix;
pix.load("images/aa.png");
painter.drawPixmap(0,0,100,100,pix);
}