自定义背景图片的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个像素的黑边  

猜你喜欢

转载自bbezxcy.iteye.com/blog/2306737