Qt可以通过重载 void paintEvent(QPaintEvent*) 的方式创建自己想要的窗体。
首先设置窗体的属性:
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint); //这里我根据需要选择了窗体置顶和无框架的参数
接下来重载 void paintEvent(QPaintEvent*) 函数,在窗体上绘图:
void timeCounter::paintEvent(QPaintEvent*){
QPainter painter(this);
QPixmap imageBg(QDir::currentPath()+"/background/bg.png");
painter->drawPixmap( (width()-imageBg.width())/2, (height()-imageBg.height())/2, imageBg.width(), imageBg.height(), imageBg );}
这里用*.png格式的图片,好处是图片中透明的地方,绘制出来的窗体的相应的地方也就是透明的。这样给创建不规则窗体带来了便利。
Qt创建以图片为背景的不规则窗体
最新推荐文章于 2022-11-23 16:38:11 发布