QT入門-主視窗設定背景顏色和背景圖片
阿新 • • 發佈:2019-02-02
程式碼是在前篇空間的程式碼基礎上加的,給主視窗新增背景顏色或背景圖片
直接上程式碼:
int main (int argc, char **argv) { QApplication app(argc, argv); QWidget *window = new QWidget; window->setWindowTitle("Enter Your Age"); /* set background color */ QPalette palette(window->palette()); palette.setColor(QPalette::Background, Qt::red); window->setPalette(palette); /* set background picture <1> */ #if 0 window->setAutoFillBackground(true); QPalette palette; QPixmap pixmap("../picture/1.png"); palette.setBrush(QPalette::Window, QBrush(pixmap)); window->setPalette(palette); #endif /* set background piture <2> */ #if 0 QPixmap pixmap = QPixmap("../picture/1.png").scaled(window->size()); QPalette palette(window->palette()); palette.setBrush(QPalette::Background, QBrush(pixmap)); window->setPalette(palette); #endif QSpinBox *spinbox = new QSpinBox; QSlider *slider = new QSlider(Qt::Horizontal); spinbox->setRange(0,130); slider->setRange(0,130); QObject::connect(spinbox, SIGNAL(valueChanged(int)), slider,SLOT(setValue(int))); QObject::connect(slider, SIGNAL(valueChanged(int)), spinbox,SLOT(setValue(int))); spinbox->setValue(35); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinbox); layout->addWidget(slider); window->setLayout(layout); window->show(); return app.exec(); } /* ----- End of main() ----- */
程式碼中/*set background color*/ 下的程式碼是設定背景顏色,./*set background picture*/是設定背景圖片,有兩種方法
借用別人的話:
<1>以上都是用scaled的方式對圖片進行適應圖片的大小,因此所給的圖片不一定滿足要求.圖片採用此方式要注意(具體該怎麼解決還沒去研究,以後有空補上)
有很多東西沒研究,今天就這樣了.