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注册表中找出间谍软件的所在.我最近研究了我的主要网络内的几台机器,以找到间谍软件和广告软件的感染信息.我个人建议,最好能利用一些有效的商业软件和免费软件经常进行这样的检查. 下 ...
一周排行
  • 没事儿捣腾了一下Node.js,跑了个Hello World,特此记录一下. Windows 下安装 Node.js 环境 到Node官网http://node.org就可以下载到安装包,我是Win7 64位,访问N ...
  • sqlmap是一个灰常强大的sql注入检测与辅助工具,但是由于没有图形界面,基本上用起来比较麻烦,导致很多人可能宁愿用havij或者是pangolin也不愿意麻烦去翻帮助界面,我自己也是把很多语句贴到了一个记事本里面 ...
  • 2618交换机VLAN配置   交换机A和交换机B通过端口16相连,交换机A的端口1与交换机B的端口2是VLAN2的成员,交换机A的端口2与交换机B的端口4是VLAN3的成员. 1.15 配置步骤 交换机A的具体配置 ...
  • 人民网8月6日电 据外交部网站消息,当地时间8月5日,外交部长王毅在吉隆坡出席中国-东盟(10+1)外长会时表示,在打造更为紧密的中国-东盟命运共同体,推进中国-东盟"2+7"合作框架同时,中方愿 ...
  • 美国当地时间2 月22 日晚,位于好莱坞星光大道的柯达剧院群星汇聚,这里正在举办一年一度的奥斯卡颁奖典礼.新闻集团旗下福克斯电影娱乐公司负责发行的<贫民百万富翁>成为当晚最大的赢家,一举囊括包括最佳导演. ...
  • 对于maven工程来说,默认的integration test是作为构建周期的一个phase进行的,这对一般的工程进行集成测试来说是很方便的,但是对于Hadoop(或HBase)项目来说是不太适合的,主要是因为一方面 ...
  • 易网科技讯 北京时间9月4日消息,盛大网络(NasdaqGS:SNDA)旗下全资子公司盛大在线(Shanda Online Holdings Limited)周四宣布任命三位高级管理人员.这次任命将进一步加强盛大在线 ...
  • show processlist结果筛选   在MySQL里面   show variables where variable_name like '%auto%' 这条语句可以正常执行,但是   show proc ...
  • 这篇主要讲述分片集群的主要原理 坦白说,刚看到这个分片系统(Sharding)有点蒙,感觉有点太高大上了.看美国作家Kyle Banker<Mongodb in action>没有明白.又查询资料,首先对 ...
  • NSA(美国国家安全局)的一台DNS服务器出现问题,导致整个NSA完全脱线,与互联网终止了连接. nsa.gov这个站点从EDT时间周四0 AM开始就无法访问,这次故障持续了整整一天. 据称此次故障的原因是N ...