Qt深入浅出(六)设计师界面
Qt Designer
使用代码布置窗口不仅耗时,而且也不够直观,Qt Designer设计师工具可以帮我们摆脱这些繁琐的工作,Qt designer 是一款可视化的ui设计工具。
Qt Designer可以编辑好一个设计师界面,设计师界面一般是一个.ui后缀的文件,需要在.pro文件中添加变量FORMS,然后指定.ui文件的路径。
ui文件是通过xml标签语言来编写的。
1 使用设计师界面
如果想在设计师可以在创建项目的时候勾选创建界面,默认是勾选的。
也可以单独添加一个界面文件,右键工程,添加新文件,选择Qt,Qt设计师界面类
这里有多个界面模板可供选择,选择其中一种,一直点击下一步即可。
在Qt Designer中你可以任意拖拽控件进行布局
2 ui文件的编译过程
首先我们可以查看.pro文件, 检查ui文件是否添加到.pro文件中,例如
如果已经添加,那么在使用qmake去执行解析.pro文件的过程中,就会生成对应的将ui文件转换成代码的Makefile。
查看编译过程,例如:
明显多了一行命令,C:\Qt\Qt5.7.0\5.7\mingw53_32\bin\uic.exe ..\class1_1\form.ui -o ui_form.h
这个命令就是通过uic.exe工具将form.ui这个文件转换成ui_form.h代码文件。
那在哪里使用了这个头文件呢,我们可以到生成的设计师界面类中查看,例如:form.cpp
#include "form.h"
#include "ui_form.h"
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{ ui->setupUi(this);
}
Form::~Form()
{ delete ui;
}
我们可以Ctrl+鼠标右键单击,#include "ui_form.h"
查看具体的实现。
Qt深入浅出(六)设计师界面相关推荐
- QT如何修改[设计师界面类]的名称(窗口或控件名字)?
当使用向导创建设计师界面类以后,如下图所示: 这样QT会为我们生成3个文件:.cpp..hpp..ui. 但是修改这个类名,就有点麻烦了,稍有不慎,就会编译报出一些莫名其妙的错误.要修改的地方有这么几 ...
- 使用QT设计师界面类创建2个界面,通过按键从界面1切换到界面2
思路:按钮点击函数hide窗口1同时emit广播点击信号(自己加),main使用connect,窗口1发出点击信号,运行窗口2show显示函数 步骤一:Add new--QT--设计师界面类 步骤二: ...
- QT每日一练day9:设计师界面
实践 双击widget.ui,到达设计师界面 直接拖动3个Push Button 一句代码都不写,直接编译: 可以将ui文件用普通文本编辑器打开,看它内部是如何工作的 编译过程中会把XML语言转换成C ...
- qt生成无ui界面动态库,有ui界面的动态库,以及含有资源文件和qss文件的动态库
提要 此文分别就qt生成纯代码的动态库,含有ui文件的动态库以及含有资源文件qss文件和切图的动态库. 实现 1.纯代码的生成qt库.即没有ui文件的项目. 打开QtCreate,新建文件,选择lib ...
- QT篇之QT布局与设计师
最近在做矿山的项目,在搞界面这块,用到了QT,所以现在把做的东西总结一下. 首先是设计界面这块,先看一下主界面: 我们开始分析一下这个界面该如何设计 问题: 1. 该用什么布局来设计这个界面?2. C ...
- Qt模仿QQ聊天窗口界面(二)
Qt模仿QQ聊天窗口界面(二) Qt模仿QQ聊天窗口界面(二) 简述 修改 效果图 后期规划 代码 结尾 简述 在上篇我们已经搭好了QQ聊天窗口的框架,这里在原来的基础上叠加功能,以及优化一些控件. ...
- Qt模仿QQ聊天窗口界面(三)
Qt模仿QQ聊天窗口界面(三)- 截图 Qt模仿QQ聊天窗口界面(三)- 截图 简述 效果图 代码篇 后期规划 结尾 简述 此篇在原来的基础上增加了QQ截图功能.在一个大佬的基础上进行了二次开发. 参 ...
- QT设计器主界面中文介绍
在Qt程序开发过程中,除可以通过手动写代码实现软件开发功能外,还可以通过Qt的GUI界面设计器(Qt Designer)进行界面的绘制和布局.该工具提供了Qt的基本可绘制窗口部件,如QWidget.Q ...
- QT人机交互(动态界面)
QT简单的人机交互界面设计 人机交互-----用户能够与界面进行动态交互 信号和槽:当一个事件发生时,那么一个对应的信号会触发,如果与该信号已建立的连接的槽函数它就会被自动调用.自定义信号并建立连接, ...
最新文章
- Nat. Med.:iHMP之“微生物组与早产”
- mysql的隔离级别_MySQL的四种事务隔离级别
- 平行志愿计算机录取顺序,2020平行志愿的录取顺序你知道吗?
- SQL经典面试题及答案
- node.js之打包工具webpack
- C++程序的单元测试
- android 进度条 代码,Android 进度条使用详解及示例代码
- Linux系统编程21:基础IO之全缓冲和行缓冲的区别及深刻理解缓冲区及其作用
- Java使用Springboot集成Es官方推荐(RestHighLevelClient)
- html form-inline,如何將HTML
- 简历制作器App使用条款
- 【STM32H7的DSP教程】第13章 DSP快速计算函数-三角函数和平方根
- 钟道隆逆向英语学习法—学习SpeciaI English的三个阶段
- 南方都市报:红心照耀MSN
- iOS性能测试怎么做?这款工具轻松稿定
- checkv的基本使用
- 原创有关年华,无关风月
- 【QCA】SDK11.2添加Marvell AQR114c的支持(uboot+linux)
- python ConfigParser 区分大小写
- internet时间和域
热门文章
- 记录某大门户网站自动跳转不良网站,团队通宵排查病毒木马全过程
- GeekOS操作系统课程设计 project1
- 大厂面试必考题:三行布局之圣杯布局和双飞翼布局的区别
- php 5.2 apc,将APC(替代PHP缓存)集成到PHP5(Debian Etch&Apache2)
- html中鼠标悬停图片变大,JavaScript通过mouseover()实现图片变大效果的示例
- ncnn报无法将参数 1 从“std::string”转换为“const ncnn::DataReader
- windows控制台cmd查看wifi密码
- mq中消息消费的几种方式
- 使用C#压缩解压rar格式文件
- [Unity][C#]Regex正则表达式判断字符串