QT项目负责人必须掌握的Ui设计师功能——Promote to !
原文链接如下:
http://blog.chinaunix.net/uid-25223983-id-90838.html
你们的团队接到了一个任务,然后你把这个任务细分为具体的模块,然后你的组员们顺利的完成了你布置的任务。他们做好了模块,然后提交给你了。现在,轮到你把他们的模块合并成一个程序了……
这网网是很困难的,原因是:
1, 每个人所做的模块都有自己的界面,你在总的程序中要设计和定义好什么时候,在什么位置,谁的模块会生效?
2, 不同人的模块会有不同的功能和操作,你如何布置与此操作对应的按钮,这些按钮和时出现,何时被激活?
3, 怎么让他们的模块和主程序完美的融合,某个按钮的隐藏不会造成整个布局混乱?
4, 工程文件是混乱的么?是不是分不清哪里是谁做的?
所有的答案,就在QT设计师里,使用QT设计师的Promte to功能配合QT的强大信号和插巢功能,让你的类轻松自由的进化成你想要的样子,当然也可以进化成你的组员提交给你的模块……
我们以一个具体的工程来讲解:
A同学负责制作一个显示模块,这个模块是一个日历(随便定的,只是为了演示方便)
B同学负责制作一个统计模块,这个模块有一个计数器和一个数字输入框(QspinBox)
你来把这两个部分和在一起,不能影响布局的基础上尽量使界面美观。
首先是A同学的模块,我们很快就可以做好:
我们可以看到生成的工程是以Student_A的名字命名的,对应的类名,头文件(.h),源文件(.cpp)以及窗体(.ui)文件均是以stua_widget来命名。表示这个类是继承字Qwidget,由studentA负责开发。
然后就是托控件了,也很简单……
我们可以加一个布局(Qlayout),以适应拉伸或者压缩。
然后就成功了,编译,把它提交给你的组长吧。
同理可以制作StudentB的模块:
跟刚才一样,这里不再赘述……
做好了,是这个样子的:
然后是主工程,由负责人CG创建:
首先建好工程:
然后是界面,可以使用一个QstackWidget以避免不同的模块与对应按钮之间互不干扰,一会还会在说……,是这个样子:
有人也许会问:啊?你放东西了么?为什么我什么也看不到?呵呵,如果你观察的够自己的话,就会发现右上角有一个向左右的箭头:其实我不仅放了一个QstackWidget,我还为这个Widget做了一个布局。不信你看:
首先我们要把StudentA和StudentB工作的成果添加到工程中来:
打开这个工程所在的文件夹,将StudentA和StudentB的工程(连文件夹一起拷贝过来):
然后在工程文件中添加需要的文件, 除了main.cpp不用添加以外(因为一个工程只能有一个main)其余看你的需要,如果你需要在主工程中也能编辑StudentA和StudentB的模块可以把Ui也添加进来
(到时候CG工程在编译的过程中会重新生成ui_StudentA.h和 ui_StudentB.h,这是后话,不表……),于是就变成了这样:
我们可以看到,哪个文件,是谁写的在我们的工程中一目了然,并且也可编辑,由于文件存在于工程文件中,所以Gcc在编译的时候也会重新根据我们的更改来编译这些文件。
好了,终于到了今天最有趣的地方了,准备好享受编程的乐趣了么?
第一步,选中pageone这个Qwidget,鼠标右键,promote to:
Promote to class要输入StudentA和StudentB在他们的头文件(.h)文件中定义的类名(不要敲错了哦!):
最后是头文件的位置:当然是Student_A文件夹下的stua_widget.h啊,因为那个文件就在那里呆着嘛(好像是废话……):
总之就是这样,先点Add按钮,一个可进化类就做好了,选中它点promote就行了:
哈哈,就这么简单,看看你原来是Qwidget的page变成什么了:
QT项目负责人必须掌握的Ui设计师功能——Promote to !相关推荐
- 【QT】Qt项目demo:数据在ui界面上显示,鼠标双击可弹窗显示具体信息
一.项目总览 二.运行结果 I.鼠标单击 II.鼠标双击 三.源文件代码 1.RecData.pro #------------------------------------------------ ...
- ui设计师与开发人员对接总结
ui设计与程序开发适配问题 适配关系(单位转换) 对接过程 项目初期的设计阶段: ui设计师使用Axure,以px(像素)为单位 开发人员使用android studio开发以dp(主要)为单位 (注 ...
- web前端项目实例网站_招聘 | 北京 | tSynsth系联设计 建筑设计师 / 室内设计师 / 项目负责人 / WEB前端开发工程师 / 实习生...
关于我们 系联设计(Tuning Synesthesia ,tSynsth, TS)是一支由多元背景的设计师与软件工程师组成的国际团队,致力于想法与过程让设计 "可持续". 系联专 ...
- UI设计师,作品集该怎么做?场景展示样机更具专业性
作品集的重要性 作品集是衡量一位设计师能力占比很重要的一部分,从作品集里可以看到你对审美.技法.理论掌握程度,还有对所经历项目的复盘.整合的拿捏程度:当然,从上面三个词还能细化,比如审美可以分为选择图 ...
- Qt项目的新首席维护人员
New Chief Maintainer for the Qt Project Qt项目的新首席维护人员 Monday June 20, 2022 by Lars Knoll | Comments ...
- Qt创建项目:手把手创建第一个Qt项目
上一节介绍了QtCreator编辑器的页面长什么样子,以及都有哪些功能区,每个功能区都是用来做什么的.这一节我就手把手带大家创建一个Qt项目. 创建项目 点击新建按钮 创建项目有两个入口,一个是在欢迎 ...
- 平面设计师和ui设计师_平面设计师的10条意外职业道路
平面设计师和ui设计师 Although the first printing press was invented back in 1450, modern graphic design came ...
- UI设计师这样面试更容易成功
最基本的.专业的UI设计能力: 你到一个公司面试,出于礼貌,都会和你聊聊,但有没有机会进行下一轮面试和聊天,UI设计能力是基本的,这个是在这个行业内最基本的能力,无论是对主管.高级UI设计师.资深UI ...
- UI培训分享:UI设计师要掌握哪些知识点
UI设计师除了要学会自己所在行业的技术之外,还要了解一些其他的知识点,这些知识点都会在今后的工作中带来帮助,甚至是加分项,那么下面来看看小编为大家介绍的UI培训分享:UI设计师要掌握哪些知识点? UI ...
- UI设计师面试如何操作才能获得高薪
UI设计师在近几年是非常吃香的,求职招聘网站上对于UI设计师的要求也越来越高,那么在面试的过程中UI设计师面试如何操作才能获得高薪呢?来看看下面的详细解析. UI设计师面试如何操作才能获得高薪? 1. ...
最新文章
- MECARD格式的电子名片简单介绍
- 各种pytorch项目
- (分类-部分)如何转载别人的文章
- linux命令0424
- 互联网晚报 | 3月26日 星期六 |​ 竞拍规则优化,部分城市土地市场有所回暖;​​武汉房贷利率下调...
- Spring Ioc创建对象的方式
- 仿hotmail收件人弹层: onkeyup事件无法捕获到回车按键, 用onkeydown事件捕获额外处理回车键...
- 【Java】程序调试
- [转]window.location方法获取URL及window.location.assign(url)和replace(url)区别
- 传输预编码matlab,无线通信-预编码-MATLAB代码合集-毕设专用.zip
- 中国姓氏大全(常见508个,罕见740个)
- html页面导出pdf截断问题,vue页面生成pdf且避免分页截断处理
- matlab 电机 热仿真,MATLAB在电机仿真中的应用
- sap服务器的文件管理,SAPPLM 文档管理介绍
- 请问手机有没有简单好用图片去水印app?这4款手机软件可以实现去水印
- 华为telnet连接(无用户名登录和aaa模板登录)
- 使用长角牛演示:防止ARP被攻击的原理和配置----------划水也别忘记学着玩
- 一篇文章带你认识数学建模中的方程与方程组
- 01笔记 数字逻辑基础——逻辑代数基础——基于《数字逻辑基础》陈光梦(第三版)
- 操作系统实验三·xv6系统增添系统调用和用户级应用程序
热门文章
- 【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType)
- ai如何旋转画布_ai怎么让一个图形等比旋转
- Connection could not be established with host smtp.163.com [Connection timed out #110]
- HDU - 5651 xiaoxin juju needs help 逆元模板
- otf和ctf的意义_OTF与CTF的比较与.ppt
- 计算机改变世界英语作文,2013年3月3日托福独立写作范文:年轻人改变世界(英文版)...
- MySQL:连接错误
- 杨百翰大学计算机科学专业,杨百翰大学有哪些专业_专业排名
- [游泳] 游泳学习课程
- Asp.NET Excel导入数据返回JSON字符