Qt界面设计1

最近刚接触Qt 对于QML作界面感受已经很轻松了,可是想尝试一下GUI..准备作一个理财的小软件 ....慢慢记录个人一点一滴的学习经历.less

本身封装界面UI 遇到了好多新手级别的问题=_=!!!  函数

 

一、界面透明 方法好多设置pattle 等等这里我就用这一个学习

ydw.setWindowFlags(Qt::FramelessWindowHint);   //在设置  Qt::WA_TranslucentBackground 属性 以前必须去掉窗体的标题栏this

ydw.setAttribute(Qt::WA_TranslucentBackground);  //设置窗体透明 前面必须先调用...Qt文档上说的

二、 设置透明窗体而且贴图       spa

 this->setWindowFlags(Qt::FramelessWindowHint);//设置窗体无边框 
 this->setAttribute(Qt::WA_TranslucentBackground);//设置背景透明
       QPixmap pic;//支持多种图片 另外QBitmap是单一颜色图像能够本身看效果
 pic.load(":/image/qqframe.png");//加载图像
 this->resize(pic.size());//设置窗体和图片同样大 弄一张圆角图片就能实现圆角窗体了
 
 
void YdwWindow::paintEvent(QPaintEvent *)  //而后在窗体的paintEvent虚函数进行贴图 利用QPainter  OK
{
    QPainter painter(this);
    painter.drawPixmap(0, 0, pic);//绘制图像
}

 

三、圆角实现原理图片

                QBitmap objBitmap(size()); //QPainter用于在位图上绘画文档

 QPainter painter(&objBitmap); //填充位图矩形框(用白色填充)
 painter.fillRect(rect(),Qt::white);//白色rgb 255 255 255 用来和图片异或
 painter.setBrush(QColor(86,78,72)); //在位图上画圆角矩形(用黑色填充)作为重叠区
 painter.drawRoundedRect(rect(),windowRadius,windowRadius); //绘制圆角
 setMask(objBitmap);//使用setmask进行 背景一伙出现圆角
相关文章
相关标签/搜索