Qt界面设计1

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

自己封装界面UI 遇到了好多新手级别的问题=_=!!! 

 

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

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

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

2、 设置透明窗体并且贴图      

       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);//绘制图像
}

 

3、圆角实现原理

                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进行 背景一伙出现圆角

 

更多相关文章
  • TCP建立与断开连接以及错误处理(包括部分小问题)   1. TCP建立连接:三次握手,到处都有.需要注意的是ACK确认序列号是SYN携带序列号+1,不是直接相等.基本过程如图所示.   socket程序中调用connect将激发三路握手过程,connect将在成功建立连接或者出错才返回.   (1 ...
  • 昨天写了个对于我来说很复杂的sql语句. 这里先放个图: 现在的需要的数据如图:从product表中拿到id,name两个字段,从buy_contract_Item和sale_contract_Item中拿到quantity,totalMoney这两个字段,再从buy_contract和sale_c ...
  • "只要人人都献出一点爱,世界将变成美好的人间"来自歌曲"爱的奉献".在上海的时间里是我目前为止最为充实.辛苦的一年,但是我反而感觉不到一点疲惫,因为我是为了自己的未来而奋斗,更重要的是我孤身一人在上海时得到各位老师朋友对我的关爱和照顾.我相信IT之路不再孤单, ...
  • 本例介绍使用ProgressDialog 的用法,我们之前也在Dialog中简单介绍过ProgressDialog ,参见Android ApiDemos示例解析(22):App->Dialog ProgressDialog为AlertDialog的子类,ProgressDialog 无需通过 ...
  • 作者:Vamei,转载请先与我联系.阿尔法贸易公司的监控室中,山下远人用手指在空中滑动,大屏幕上的显示画面也随之变化.山下一直在等“桃疆”号的运行报告.由于电磁干扰,飞船运行报告经常会中断.但这艘飞船的方位并没有明显的电磁爆发.这意味着,飞船可能发生了什么故障.山下叹一口气,看来奖金又要泡汤了.“桃 ...
  • 你应该有过这样的遭遇,就是电脑感染上了间谍软件或广告软件.在这种情况下,解决问题的关键就是要在你的硬盘.内存或Windows注册表中找出间谍软件的所在.我最近研究了我的主要网络内的几台机器,以找到间谍软件和广告软件的感染信息.我个人建议,最好能利用一些有效的商业软件和免费软件经常进行这样的检查. 下 ...
一周排行
  • (1)HTML5文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型.在项目中的每个页面都要参照下面的格式进行设置. Code<!DOCTYPE ht ...
  • 1. 常见的 getSharedPreferences(String filename,mode)   指定sp文件的名称,生成的文件名为 filename.xml 2.getPreferences(mode) ge ...
  • 不妨设想一下:如果你的所有数据管理功能都始终如一,即便跨公有云和私有云也是如此.是不是觉得这是疯狂的.不切实际的愿景?实则不然,原因如下. 我在上一篇文章中曾介绍,一种结构将所有部分连接起来,组成一个连贯的.整合的. ...
  • 简介: zeromq中间件,他是一个轻量级的消息中间件,传说是世界上最快的消息中间件,为什么这么说呢? 因为一般的消息中间件都需要启动消息服务器,但是zeromq这厮尽然没有消息服务器,他压根没有消息中间件的架子,但 ...
  • Python代码 import  sys   from  CVtypes  import  cv         def  detect(image):          image_size = cv.GetSiz ...
  • ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机) ADB全称Android Deb ...
  • ++i :自增运算符 功能:i 自增1后再参与运算 #include int main() { int i = 8; printf("%d\n",i); return 0; } 执行结果: 说明: ...
  • 自5·17电信日3G市场正式启动以来,运营商与终端厂家之间的竞争日趋明显.由于中国联通WCDMA制式启动较晚,而诸如诺基亚.索尼爱立信等洋品牌的优势产品均集中在该领域.本以为国产手机可借此时间差迅速抢得国内3G市场头 ...
  • 最初使用texturepacker打包的时候选择了premultiply, 导致质量严重下降, 取消后, 改善很多 但是后来还是发现很模糊, 具体表现在手机端, 如图: pc版: nexus5版: 锯齿十分明显, 但 ...
  • squid透明代理(Transparent Proxy) 原理: 透明代理提供与传统代理相同的功能和服务,其"透明"之处在于: 客户端不需要在浏览器中指定代理服务器的地址和端口号,代理服务对客户端 ...