最近学习Qt略有心得,记之以备不虞。
我们常常有这种需求,就是需要给某个指定的QWidget对象添加图片背景。比方中国象棋,整个棋盘周边是状态区,而中间的棋盘可以是一个图片,所以如何给这个QWidget对象添加背景图片呢?
如下解决方法:
//demo.h
#include
class MainWindow : public QMainWindow
{
Q_OBJECT
private:
QWidget* centerWidget;
QWidget* image;
QPixmap* chessboard;
private:
void initLayout(QWidget* widget);
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
void initUI();
};
#endif // MAINWINDOW_H
//demo.cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->initUI();
}
MainWindow::~MainWindow()
{
}
void MainWindow::initLayout(QWidget *widget)
{
QVBoxLayout* vLayout = new QVBoxLayout;
QHBoxLayout* hLayout = new QHBoxLayout;
QHBoxLayout* cLayout = new QHBoxLayout;
this->image = new QWidget;
QPalette pal(this->image->palette());
pal.setColor(QPalette