QT皮肤框架-TQUI
本皮肤框架的相关文档,请在附件中下载,包括测试程序源码,帮助文档。
相关文档可到我的百度网盘中下载,或者在本贴附件中下载。
百度网盘地址:TQUI-V1.0项目说明及测试程序源码
项目更新说明:
-------------------------------------------
版本号 :V1.0.3
更新时间 :2015.1.27
更新内容/实现功能:
1.修改了代码,提高系统健壮性
2.可在qt4及qt5平台上使用
3.编译器适配msvc和mingw,
4.操作系统适配windows和linux
5.增加自定义系统托盘功能
-------------------------------------------
第 一 章 皮肤框架介绍
§1.1.1 框架由来
以前在开发.NET的时候自己做过一套.NET的皮肤框架,使用很方便,效果较好。如今使用QT开发已经有好几年的时间,一直想做一套QT的皮肤框架, 但一直碍于时间和精力等原因无法促成。
近一年来在网上也一直在搜索QT皮肤框架,希望能有人做好可以用的,但搜索的结果有点让人失望,QTCN上有几个伙计公布过自己的界面皮肤设计的效果及源码,但经使用发现都不是很方便,用于QT样式的学习还是不错的,但真正用于工程还差得比较远,原因一是样式设计较为混乱,可复制性不强,二是样式和皮肤未形成模板,无法快速方便开发人员使用。
根据自己多年的经验和积累,决定开发一套QT皮肤框架,命名为TQUI(天涯游阁的QT项目的UI框架),我设计的前提有如下几点:
1. 可定制皮肤,首先是颜色皮肤,之后是图片皮肤,可以实现QQ的聊天窗体的那种效果。
2. 使用简单,不改变现在的QT人员的开发方式,尽可能的与QT的现在的开发机制一致,并很好的融合在一起。
3. 接口简单并完善,提供尽可能丰富的皮肤框架的操作接口(提供一些扩展功能),但接口一定要简单易用。
§1.1.2 框架编译环境
本次发布的TQUI和测试项目,及编译好的可执行程序,编译环境如下:
1. QT,qt4.8.6,因未使用平台特殊接口,所以可以跨平台使用
2. VC,vc2010-x86
§1.1.3 框架界面预览
国网绿皮肤
蓝色皮肤
浅蓝色皮肤
灰色皮肤
黑色皮肤
综合示例
颜色选取控件
文件选取控件
消息窗体
文字和数字输入控件
§1.1.4 皮肤使用说明
特殊窗体示例:
类似QQ的右下角新闻消息弹窗,此窗体可以设置自动关闭的延迟时间
弹出窗体,此窗体在失去焦点时会自动关闭:
本框架可以用于只设置窗体的标题部分,而不影响内部控件
QT皮肤框架-TQUI的更多相关文章
- Qt 状态机框架学习(没学会)
Qt状态机框架是基于状态图XML(SCXML) 实现的.从Qt4.6开始,它已经是QtCore模块的一部分.尽管它本身是蛮复杂的一套东西,但经过和Qt的事件系统(event system).信号槽(s ...
- Qt状态机框架(状态机就开始异步的运行了,也就是说,它成为了我们应用程序事件循环的一部分了)
状态机框架 Qt中的状态机框架为我们提供了很多的API和类,使我们能更容易的在自己的应用程序中集成状态动画.这个框架是和Qt的元对象系统机密结合在一起的.比如,各个状态之间的转换是通过信号触发的,状态 ...
- Qt 动画框架
最近一个项目中的需要做动画效果,很自然就想起来用qt animation framework .这个框架真的很强大.支持多个动画组合,线性动画,并行动画等.在此总结一下使用该框架一些需要注意的地方: ...
- QT皮肤系统的动态切换
应用需求: 提供皮肤切换选项,在不重启应用程序的情况下实现皮肤的动态切换. 理论基础: 1) 图片资源是如何被利用的 这里先简要说明一下实现原理,皮肤的动态切换其关键在于图片资源的加载方式.QT中每个 ...
- Qt状态机框架
The State Machine Framework 状态机框架提供了用于创建和执行状态图的类.概念和符号是基于Harel的Statecharts: A visual formalism for c ...
- QT显示框架嵌入Vs控制台工程
一.一些准备工作: 1.安装Qt for VS 的插件: 安装Qt for VS 的插件 下载地址:http://download.qt.io/official_releases/vsaddin/ ...
- Qt动画框架The Animation Framework
动画框架是Kinetic(运动)项目的一部分,它的目标是提供一中简单的方法创建动画的和流畅的GUI.借助Qt动画属性,可以提供非常自由的动画窗体组件和其他对象(QObjects).动画框架也能被用于图 ...
- Qt基本框架介绍
#include <QApplication>#include <QWidget> int main(int argc, char *argv[]){ QApplication ...
- 10.QT程序框架与connect
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setup ...
随机推荐
- CODEVS 1062 路由选择
1062 路由选择 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在网络通信中,经常需要求最短路径.但完全用最短路径传 ...
- 在Eclipse中运行hadoop程序
1.下载hadoop-eclipse-plugin-1.2.1.jar,并将之复制到eclipse/plugins下. 2.打开map-reduce视图 在eclipse中,打开window--> ...
- dynamic和object浅谈
要想知道dynamic和object的关系必须先理解它们的含义 C# 4.0提供了一个dynamic 关键字.在MSDN里是这样描述:在通过 dynamic 类型实现的操作中,该类型的作用是绕过编译时 ...
- Python基础第五天
双层装饰器 字符串格式化 Python字符串格式有2种方式:百分号方式.format方式:建议使用format方式 1.百分号方式 格式:%[(name)][flags][width].[precis ...
- Labeling Balls--poj3687
Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12273 Accepted: 3516 D ...
- LoadRunner利用ODBC编写MySql脚本
最近做了几周的LoadRunner测试,有一些心得,记录下来,以便以后查找. LoadRunner测试数据库是模拟客户端去连接数据库服务器,因此,需要协议(或者说驱动的支持).LoadRunner本身 ...
- replace 全局替换 和 数组去空
<script> /*var str = 'a,b,dhhhh,d'; str = str.replace(/h/g,'j'); alert(str);*/ </script> ...
- angular中设置$http的post请求的数据传递格式
ArgularJS的$http方法支持全局设置: $http.defaults.headers.post["Content-Type"] = "application/x ...
- 开心学习系列学习笔记-----nodejs缺点
不支持故障恢复 不知你是否在调试的过程中注意,当程序有错误发生时,整个进程就会结束,需要重 新在终端中启动服务器.这一点在开发中无可厚非,但在产品环境下就是严重的问题 了,因为一旦用户访问时触 ...
- Ext4.0.7使用Ext.grid.ColumnModel报错:TypeError: Ext.grid.Model is not a constructor
代码如下: Ext.onReady(function(){ //定义列 var cm = new Ext.grid.ColumnModel([ {header: '编号', dataIndex: 'i ...