Qt之使用CQU库快速开发统一风格界面

在使用Qt开发时,肯定是想让开发的项目界面统一风格;不希望每个界面都要程序员用代码去修饰美化以及进行事件处理等等,这样非常繁琐,容易出错而且没有格调;所以我就开发一个动态链接库,封装统一的风格界面、事件处理等等;自己开发的这个库叫做CQU;

CQU库最终提供给用户的文件只有如下三个文件:

  • CQU.dll:动态库文件
  • libCQU.a:静态库文件
  • cquwidget.h 头文件

先给大家看看效果图,然后再讲述怎么使用CQU动态链接库来达到快速开发的目的

一、效果图

二、CQU外部接口
CQU库提供的外部接口函数如下所示:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

static void init();

//设置窗口标题栏文本

void setWidgetTitleText(const QString &str);

//显示隐藏最小化,最大化,关闭按钮

void setWidgetBtnShow(bool bMinBtnShow,bool bMaxBtnShow,bool bCloseBtnShow);

//设置状态栏左标签文本

void setWidgetStatuLeftText(const QString &str);

//设置状态栏左标签图像(会清除原来的文本)

void setWidgetStatuLeftPixmap(const QPixmap &pixmap);

//设置状态栏右标签文本

void setWidgetStatuRightText(const QString &str);

//设置状态栏右标签图像(会清除原来的文本)

void setWidgetStatuRightPixmap(const QPixmap &pixmap);

//设置窗口布局SizeConstraint

void setMainLayoutSizeConstraint(QLayout::SizeConstraint eSizeConstraint);

//设置是否窗口固定大小,不允许拉缩窗口

void setFixSizeBool(bool bFixSizeBool);

//窗口是否将被关闭

bool getClosing();

//窗口当前大小状态

bool getBoolMaxWin();

三、CQU使用演示

这里我创建一个测试工程来演示CQU库的使用

1、使用Qt Creator创建一个GUI工程,工程名字就叫Test吧;把CQU动态库文件(CQU.dll)放到Test工程目录下,把CQU静态库文件(libCQU.a)放到Test工程目录下,同时,把CQU提供的cquwidget.h文件也放到Test工程目录下,得到的目录结构如下图所示:

其中, CQU.dll位于bin目录下,libCQU.a位于lib目录下,cquwidget.h位于工程主目录下

2、编辑Test.pro文件
添加如下两行:
DESTDIR = $$PWD/bin
LIBS += -L$$PWD/lib –lCQU

3、增加窗口

往Test工程里添加一个窗口,这么简单的事情,我就不详细说了;窗口名字叫QCustomFrame类吧,你在这个窗口里随便拖点控件,我拖了些按钮和一些编辑框在窗口上,如下图所示:

这个窗口再普通、朴素不过了吧

4、应用CQU

下面就是使用CQU库来应用你刚才随便创建的窗口,见证奇迹的时刻到了;在main函数里添加如下代码:


1

2

3

4

5

6

7

QCQUWidget::init();

QCustomFrame *pWidget = new QCustomFrame();

QCQUWidget objCustomBaseWidget(pWidget,true);

objCustomBaseWidget.setWidgetTitleText("CQU Test");

objCustomBaseWidget.setWidgetBtnShow(true,true,true);

objCustomBaseWidget.resize(pWidget->width(),pWidget->height()+HIGHT_MAX);

objCustomBaseWidget.show();

5、最终界面

最后生成的界面如下图所示:

这样方便多了吧;非常容易使用,而且稳定,项目中已使用,呵呵;能够保持整个项目的UI界面风格统一,节省了大量的繁琐工作。

时间: 2024-10-10 00:23:40

Qt之使用CQU库快速开发统一风格界面的相关文章

SNF快速开发平台之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

一.个性配置-首页:可以进行拖动保存配置,下次登录时就会按配置的进行加载 二.个人配置页面 7种菜单用户可自定义配置,和预览效果 10种皮肤自定义配置,和预览效果 皮肤和菜单可以随意组合-部分截图: 作者:王春天 2014-12-02 作者Blog:http://www.cnblogs.com/spring_wang 原文:http://www.cnblogs.com/spring_wang/p/4138617.html 如果觉得还不错,欢迎转载.

快速开发:我和实习妹纸的撸码故事(1)

曾经六六我也是一个初级开发的实习生,当年的我初入农田,一心要做一个高产量高品质的码农,做码农界的袁隆平!然而,现实总是无比的残酷,我一个刚入门的码农,刚进农田就跌了许多跟头.BUG天天困扰着我,不过这也是一种磨练.不然我六六也难以成为一个合格的码农! 不过现在时代不同了,软件公司越来越多,软件开发行业的竞争越来越激烈了.公司越来越看重成本和效率.所以很多公司都不愿意招聘毫无经验的初级码农.项目进度跟不上,我们公司的码农数量又迟迟补充不上.不用想,领导对应届大学生能力有质疑也是正常的,但是高技术的

SNF快速开发平台3.0之--文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)

实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定.但我也要在这里记录一下统一附件管理器能满足的需求. 通用的附件管理,不要重复开发,调用尽量简洁. 批量文件上传,并对每个文件大小限制,客户端无刷新 可以对已经上传的附件进行名字变更,改成更友好的名称. 可以对已经上传的文件进行删除. 并记录文件大小,上传人.时间和修改人和时间等. 可以下载附件到本地电脑. 文件的在线预览,支持不安装office软件就可以预览(不管是图片还是office文档都得支持预览) 虽然比专业的图文档管理系统

开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http://blog.csdn.net/caoyouxing/article/details/42418591 主题 开源 安卓开发 http://www.tuicool.com/articles/jyA3MrU Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自

springmvc+activiti 完美整合- 流程在线设计+代码生成器+UI快速开发库,提高一半的开发效率

JEECG(J2EE Code Generation) 是一款基于代码生成器的智能开发平台,采用代码生成+手工MERGE半智能开发模式, 可以帮助解决Java项目60%的重复工作,让开发更多关注业务逻辑.既能快速提高开发效率,帮助公司节省人力成本,同时又不失扩展性和灵活性.     JEECG宗旨是:简单功能由代码生成器生成使用; 复杂业务采用表单自定义,业务流程使用工作流来实现.扩展出任务接口,供开发编写业务逻辑. 实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发

Sublime插件库新成员基于APICloud快速开发跨平台App

互联网时代强调用户体验,那什么是HTML5跨平台App开发者的编程体验?"不剥夺.不替换开发者喜欢的开发工具,就是人性化的用户体验",APICloud给出了这样的答案! 重磅发布"多开发工具支持策略" "如果,你以为此次分享会APICloud只是讲解Eclipse开源插件代码经验,那就大错特错了!"APICloud CEO刘鑫以调侃的话进行了开场. 经过一年的上线摸索,APICloud团队充分的认识到"剥夺开发者已经习惯的开发工具,替换

Ubuntu14.04下快速开发QT应用程序

找要:演示如何快速开发QT应用. 1. Ubuntu下安装Qt集成环境 sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer 2. 编写一个简单的Qt程序 首先:创建一个应用文件夹qtapp,并进入该文件夹 cd ~ mkdir qtapp cd qtapp 编写程序: gedit test1.cpp 内容如下: #include <QApplication> #include <QL

C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享

由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系统就不是那么简单了,需要长期的维护完善才能平稳运行. 公司有几十套业务系统需要快速开发.开发队伍的建设.软件系统的建设.基础平台的建设都堆在了一起,由于我们用了成熟的通用快速开发平台,所有的用户都能集中统一授权.所有的业务系统都有统一的管理后台配置管理,几乎很多精力都放在业务模块的开发上就可以了.

关于基于GDAL库QT软件平台下C++语言开发使用说明

背景前提 地理空间数据抽象库(GDAL)是一个用于读取和编写栅格和矢量地理空间数据格式的计算机软件库,由开源地理空间基金会在许可的X / MIT风格免费软件许可下发布. 作为一个库,它为调用应用程序提供了一个抽象数据模型,用于所有支持的格式. 它还可以构建有各种有用的命令行接口实用程序,用于数据转换和处理. PROJ.4库支持投影和转换.(摘自维基百科) 相关的OGR库(OGR Simple Features Library [2])是GDAL源代码树的一部分,它为简单的特征矢量图形数据提供了类