自定义背景图片的QT对话框
通过setStyleSheet设置QSS样式表生成一个如图所示的对话框。把该踩得地雷都踩了一遍,就把过程写在这里。
1首先,编辑qrc文件。添加一个前缀“/”,并在这个前缀后面添加要使用的图片
2,重写widget子类的paintEvent()函数。
在类的定义中添加
void paintEvent(QPaintEvent *event);
并且自己重写这个函数
void try1::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
3,通过setStyleSheet设置样式表
在widget子类构造函数中添加
setStyleSheet("background-image:url(:/image/frame.png);border:1px solid black;");
background-image:url(:/image/frame.png);是背景图片的位置,:/代表qrc文件中的路径
border:1px solid black; 设置1个像素的黑边