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());//设置窗体和图片一样大 弄一张圆角图片就能实现圆角窗体了
voidYdwWindow::paintEvent(QPaintEvent*) //然后在窗体的paintEvent虚函数进行贴图 利用QPainter OK
{
QPainterpainter(this);
painter.drawPixmap(,,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进行 背景一伙出现圆角
Qt界面设计1的更多相关文章
- (一)Qt界面设计布局
Qt提供四种布局: 这种布局生成的格局比较单一,这时候需要另外两个填充控件,来生成整行或整列的格式. 注意:使用Spacers控件时,必须要放在layouts中的布局中,否则无法保存. 示例: 1.往 ...
- qt界面设计
需求 需要不同界面同样的位置有上下的公共部分 分解 在WPF中我亦接触到需要这样做的程序.在wpf中我将上下公共部分作为界面基类,其它界面都继承这个基类.我用qt准备定义一个stackedpanel, ...
- (二)Qt界面设计之菜单栏
1.添加菜单项 直接输入菜单项名称,然后回车即可. 2.为菜单项设置图标 在动作编辑器上,右键选择编辑,然后添加图标 如果想在图标栏添加该菜单的快捷图标,直接将该动作项拖放只图标栏即可. 3.事件响应 ...
- Qt与FFmpeg联合开发指南(二)——解码(2):封装和界面设计
与解码相关的主要代码在上一篇博客中已经做了介绍,本篇我们会先讨论一下如何控制解码速度再提供一个我个人的封装思路.最后回归到界面设计环节重点看一下如何保证播放器界面在缩放和拖动的过程中保证视频画面的宽高 ...
- SDK、MFC、QT界面生成的机制
1.SDK进行界面设计的机制 (1)设计窗口类 (2)注册窗口类 (3)创建窗口 (4)显示及更新窗口 (5)消息循环,操作系统接收到应用程序的窗口消息,将消息投递到队列中,通过GetMessage( ...
- QML与C++交互:登陆界面设计
QML与C++交互:登陆界面设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2.1 说明: QML设计前 ...
- 简单的爬虫程序以及使用PYQT进行界面设计(包含源码解析)
由于这个是毕业设计的内容,而且还是跨专业的.爬虫程序肯定是很简单的,就是调用Yahoo的API进行爬取图片.这篇博客主要讲的是基础的界面设计. 放上源码,然后分部解析一下重要的地方.注:flickra ...
- PyQt5多个GUI界面设计
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90454379 - 写在前面 本科毕业设计终于告一段落了.特 ...
- 嵌入式Linux学习笔记(六) 上位机QT界面实现和串口通讯实现
目录 (1).参考资料 (2).QT界面布局实现 (3).数据和操作逻辑 在上一章我们实现了下位机的协议制定,并通过串口通讯工具完成了对设备内外设(LED)的状态修改,下面就要进行上位机软件的实现了( ...
随机推荐
- JXL读取Excel日期时间不准确
XL读取Excel日期时间多出了8个小时. Cell c = rs.getCell(j, i); if (c.getType() == CellType.DAT ...
- tyvj1161聚会的名单(trie树)
背景 Background 明天就是candy的生日,candy又会邀请自己的一大堆好友来聚会了!哎!又要累坏飘飘乎居士了!! 描述 Description 明天就是candy的生日.晚上,c ...
- [2015编程之美] 资格赛C
#1150 : 基站选址 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 需要在一个N × M的网格中建立一个通讯基站,通讯基站仅必须建立在格点上. 网格中有A个用户,每个 ...
- 实现类似QQ的即时通信程序(十一)
此为网络编程的一个系列,后续会把内容补上....
- What is Cross Linux From Scratch?
/**************************************************************************** * What is Cross Linux ...
- I.MX6 U-boot PWM hacking
/******************************************************************************* * I.MX6 U-boot PWM ...
- iOS application: how to clear notifications?
http://stackoverflow.com/questions/8682051/ios-application-how-to-clear-notifications up vote105down ...
- Gradle使用手册(一):为什么要用Gradle?
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1. ...
- JSP文件上传代码
一.首先建立一个上传的界面,取名为a.jsp,代码如下 <%@ page contentType="text/html; charset=utf-8" language=&q ...
- lightoj 1019
裸的最短路 dijkstra #include<cstdio> #include<string> #include<cstring> #include<ios ...