paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制

效果图片

作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax

1.自绘边框原理 1

边框设计以及抓取参考: 2

建立四角以及其他边框线 2

重写paintEvent事件 2

1.自绘边框原理

一般窗口的边框Frame,A C G I四块是固定,能保证在窗口改变大小时这四块不变,其他块随着大小伸缩即可..如果要自绘边框,主要是BHD F块会拉伸..,,

边框设计以及抓取参考:

我们看到效果图片边框有外框以及内边框组成..颜色青色RGB(48,187,227

),黑色两色..外框又分成两层..最外层青色,内层黑色....内边框也这样..  这样有层次感觉..

左上角以及右上角外框中的最外层青色有个1*1缺口..圆角效果..

我们可以抓取参考现有好的边框设计...使用截图,然后,PS放大欣赏,使用彗星助手可以取得颜色..

建立四角以及其他边框线

先设计个角框..旋转下走有了4个图片..边框线也能这样..最后保存成8张图片..

或者,我们全部在程序中处理也能了..这样减少io,就是浪费CPU..

重写paintEvent事件

只要绘边框走ok兰,,背景不影响..好像系统自动合成到个一起兰..

void IrregularWidget::paintEvent(QPaintEvent *event)

{

//  QPainter painter(this);

//  painter.fillRect(0, 0, backgroundPixmap_->width(), backgroundPixmap_->height(), *backgroundPixmap_);

QPixmap m_Pixmap("c:/img/leftline.png");

QPixmap m_PixmapRit("c:/img/ritline.png");

QPainter painter(this);

//    painter.drawPixmap(0, 0, m_Pixmap);

int height=this->height();

int wit=this->width();

painter.drawPixmap(0, 0,4,height, m_Pixmap,0, 0,4,height);

//painter.drawPixmap(50, 0,4,height, m_Pixmap,0, 0,4,height);

//right border

qDebug()<<" ca6:"<<m_Pixmap.width();

QPainter painter2(this);

int startX=wit-4;

int ritLineWidth=m_PixmapRit.width();

painter.drawPixmap(startX, 0,4,height, m_PixmapRit,0, 0,4,height);

//paint bottom border

QPainter painter3(this);

QPixmap m_PixmapBtm("c:/img/bottomline.png");

int heightBtm=m_PixmapBtm.height();

int startY=height-heightBtm;

painter.drawPixmap(0, startY,wit,heightBtm, m_PixmapBtm,0, 0,wit,heightBtm);

//painter.drawPixmapFragments();

//  painter.fillRect(rect(),m_Pixmap);

//   painter.setBrush(QColor(255,0,0));

//  painter.drawRoundedRect(this->rect(),10,10);

// painter.

}

paip.提升用户体验---c++ qt自定义窗体(2)---边框线的绘制相关推荐

  1. paip.提升用户体验--提升java的热部署热更新能力

    paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力  "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...

  2. 描点链接元素的优化提升用户体验

    用一些大网站的时候,发现有一个很细节的共同点:点击链接元素的时候,链接元素会产生一个明显的边框,而且这个边框的颜色和#f27b04很接近,我觉得既然很多大网站都这么做,这其中肯定有一些用户体验方面的东 ...

  3. 网络营销外包——网络营销外包专员浅析提升用户体验从哪入手?

    众所周知,在网站运营期间,网站跳出率的高低直接反映出用户对网站喜爱与否,也是检测网站性能是否丝滑的关键点,如果网站跳出率越高就证明用户体验越差,搜索引擎也不会更加注重抓取该网站.那么如果提高用户体验, ...

  4. 纯前端表格控件SpreadJS V12.1 隆重登场,专注易用性,提升用户体验

    ​ 一款优秀的开发工具,在更新迭代中,除了要满足不同场景的业务需求,也需不断优化已有功能,尤其是细节方面,要能为用户带来使用体验和开发效率的提升. 作为一款备受业界专家和开发者认可的纯前端类Excel ...

  5. 使用渐进式JPEG来提升用户体验

    今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式).两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别 ...

  6. android 6.0适应的机型,提升用户体验 可升Android 6.0机型盘点

    原标题:提升用户体验 可升Android 6.0机型盘点 [手机中国 导购]2009年Android系统正式发布,由此加速手机走向智能化进度.如今,随着Android系统日渐成熟,众多手机厂商都在此基 ...

  7. electron加载html加载不起来,Electron 预加载远程页面提升用户体验

    使用场景 Electron 内置 Chromium 和 Node.js,为了提升用户体验,通常 Electron 封装的前端静态文件存储在客户端本地.但总有一些特殊情况,会使用到部分远程页面. 比如微 ...

  8. APP开发中这十个细节能直接影响到用户体验,那么如何提升用户体验?

    随着软件开发技术的不断发展和完善,有众多同类选择的APP用户越来越挑剔,单单拼功能拼硬件已经不足以捕获用户芳心.在APP使用过程中,大部分用户无意识地培养出了对使用体验的重视感.这警醒企业,只盯着为用 ...

  9. 三星电子中国研究院院长张代君:Bixby绝非炫技而是为提升用户体验而生

    近日,三星正式对外发布旗下人工智能平台Bixby中文(普通话)版.与其他语音助手截然不同,Bixby包含语音.视觉.主页.提醒四大功能,可为用户提供多模交互体验.此外,Bixby还可以不断学习用户的使 ...

  10. 客户体验是什么?如何提升用户体验从而提高产品成单率?必读!

    近年来,"客户体验"成了一个很常用的词,但实际上很多人都无法给到一明确定义,尽管许多企业都将改进客户体验视为一项差异化的竞争优势.可是,如果连某种东西的定义都说不清楚,又如何谈得上 ...

最新文章

  1. Python 字典(Dictionary) copy()方法
  2. android设备获取wifi和蓝牙状态并进行打开或关闭操作
  3. 恢复联想键盘F1-F12标准模式
  4. Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail
  5. SHA-1算法c语言实现
  6. WebAssembly:随风潜入夜
  7. oracle代码实例,oracle存储过程代码实例
  8. a5d27 第1级bootloader启动问题
  9. 在ubuntu上搭建开发环境9---Ubuntu删除ibus出现的问题及解决
  10. matlab 快捷键
  11. Linux中grep命令查找文件,Linux中使用grep命令搜索文件名及文件内容的方法
  12. 全国省市县行政区划SQL代码文件
  13. 计算机密码学论文,密码学论文写作范例论文
  14. moment解读常用操作及语句——subtract、add、calendar
  15. 【土旦】在vue filters中 优雅的使用对象的key、value来替换 if switch多重判断简化流程...
  16. 记账APP:小哈记账2——注册页面的制作
  17. 笔杆网试用---感官体验篇一
  18. 我与照片之乾坤大挪移-瞬间旋转你的照片
  19. Gartner 魔力象限:数据中心备份和恢复解决方案 2020年
  20. 英文版sketch如何转为中文版?sketch英文转为中文教程!

热门文章

  1. SCOM 2007 R2监控系统安装部署(一)SCOM简介及安装SQL Server 2008 R2 数据库
  2. php中的冒泡排序和选择排序d
  3. Nuget私有服务搭建实战
  4. Matlab命令系列之目录操作
  5. Cinder - 读取glusterfs_shares_config代码
  6. wpf 写个简单的控件吧
  7. keydown和keypress的区别
  8. virtualbox 中,虚拟机网络使用NAT方式时,其它机器对虚拟机的访问
  9. 第2章 程序的灵魂-算法
  10. Codeforces Round #552 (Div. 3)