#include "QtWidgetsApplication2.h"
#include<QPixmap>
#include<QPainter>
QtWidgetsApplication2::QtWidgetsApplication2(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
QPixmap pm(20, 20);
QPainter pmp(&pm);
pmp.fillRect(0, 0, 10, 10, Qt::lightGray);
pmp.fillRect(10, 10, 10, 10, Qt::lightGray);
pmp.fillRect(0, 10, 10, 10, Qt::darkGray);
pmp.fillRect(10, 0, 10, 10, Qt::darkGray);
pmp.end();
QPalette pal = palette();
pal.setBrush(backgroundRole(), QBrush(pm));
setAutoFillBackground(true);
setPalette(pal);
}
上面代码利用QPixmap和窗体调色板类设置窗体背景画刷,实现窗体背景的填充,效果如下:
类似功能博文参考:《利用QPainter、QColor绘制黑白棋盘功能》