QT入门-主窗口设置背景颜色和背景图片
代码是在前篇空间的代码基础上加的,给主窗口添加背景颜色或背景图片
直接上代码:
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的方式对图片进行适应图片的大小,因此所给的图片不一定满足要求.图片采用此方式要注意(具体该怎么解决还没去研究,以后有空补上)
有很多东西没研究,今天就这样了.
参考博客:
