QtWidget 給Widget加上背景圖實(shí)例
QWidget類是所有用戶界面對(duì)象的基類。 窗口部件是用戶界面的一個(gè)原子:它從窗口系統(tǒng)接收鼠標(biāo)、鍵盤和其它事件,并且在屏幕上繪制自己的表現(xiàn)。每一個(gè)窗口部件都是矩形,并且它們按Z軸順序排列的。一個(gè)窗口部件可以被它的父窗口部件或者它前面的窗口部件蓋住一部分。
QDialog是最普通的***窗口。不被嵌入到一個(gè)父窗口部件的窗口部件被叫做***窗口部件。通常情況下,***窗口部件是有框架和標(biāo)題欄的窗口(盡管如果使用了一定的窗口部件標(biāo)記,創(chuàng)建***窗口部件時(shí)也可能沒(méi)有這些裝飾。)在Qt中,QMainWindow和和不同的QDialog的子類是最普通的***窗口。
一個(gè)沒(méi)有父窗口部件的窗口部件一直是***窗口部件。
關(guān)鍵使用widget的palette的brush.
- 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();
 - }
 

小結(jié):QtWidget 給widget加上背景圖實(shí)例的內(nèi)容介紹完了,對(duì)QWidget類作了簡(jiǎn)單的介紹,并以簡(jiǎn)單的代碼實(shí)現(xiàn)效果圖,希望本文能夠幫你學(xué)習(xí)QWidget類。















 
 
 



 
 
 
 