Qt创建以图片为背景的不规则窗体

        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)