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 框架
个人分类: Qt
上一篇QString转char*
下一篇Qt实现当鼠标移动到窗体上,窗体由半透明变为不透明
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭