Qt

Qt开发图形界面软件,可以跨win、linux、mac平台、移动端,使用c++开发

Qt采用所见即所得的UI设计(UI设计和代码是联动的),GUI界面编辑信号和槽,由开发环境自动生成c++代码,来实现快速的图形界面开发。

入门教程,挺棒的,http://www.qter.org/portal.php?mod=view&aid=26

版    本:Qt4-Qt5.8

本机环境:Windows 7 + Qt 5.7.1(QtCreator 4.2.1)

构建(编译工具)环境:MSVC 2013 64bits

下载

https://download.qt.io/official_releases/qt/

说明:msvc2015, msvc2013, mingw是不同的编译器版本(不同的构建工具)

Qt Creator即为Qt官方集成开发环境,(Qt Creator 4.2.1 Community);

Qt提供的几个工具软件——Assistant是Qt助手,它已经集成到了QtCreator中,就是帮助模式;Designer是Qt设计师,它也集成到了QtCreator中,就是设计模式; Linguist是Qt语言家,用来对软件进行国际化翻译;Qt 5.8 for Desktop可以用来进行命令行操作,比如使用命令行来编译程序等

Get started

界面熟悉

QtCreator主界面分为了6个模式:欢迎模式、编辑模式、设计模式、Debug调试模式、项目模式和帮助模式,分别由左侧的6个图标进行切换

开发大致是从第一个模式走到第4-5个模式

快捷键

Ctrl+N快捷键 新建项目

ctrl+1-6 切换模式

ctrl+r 运行项目

ctrl+鼠标滚轮 放大缩小代码编辑器中的代码字号

设计模式上方的图标,或者按下F4,便进入了信号和槽编辑模式

Process

1 创建项目。

2 简单使用。UI设计,简单码农,信号和槽

3 编译生成、发布。

创建项目

Ctrl+N,Qt Widgets Application,注意名称和路径上都不要有中文

Desktop构建套件,用来编译桌面版程序的。构建套件即build tools,涉及一些编译工具,编译的过程:预编译、汇编、连接。

Desktop Qt 5.8.0MinGW 32bit可以看出,现在使用的是5.8.0版本的Qt库和32位的MinGW编译器编译的桌面版程序。

基类可选的有QMainWindow、QWidget和QDialog

默认勾选了创建界面,这样可以使用设计器来设计主界面

简单使用

进入编辑界面,建立相应的窗口类,会得到头文件,源文件(用来类外定义、重载成员函数),ui文件。ui文件是对应窗口类的ui,双击进入设计模式。

为区分机器自动生成和人工编写的代码,有颜色标示:

红色 未保存的修改代码

绿色 已保存后的修改部分

编译生成

同VS一样,编译时默认是debug版本,所以在左侧按钮调整debug or release。

在文件系统中可以找到相应版本的目录,发布exe,还需要dll依赖。

D:\Program\qtdown\5.7\msvc2013_64\bin

release版本跟debug版本的所需的DLL后缀,带D后缀的是debug所需dll。

Exe+dll,打包即可发布。

Qt API阅读

类分成了多个板块

QDialog

Qt Widgets>QDialog

int QDialog::exec()

application modal、window modal

Qt(1)的更多相关文章

  1. QT内省机制、自定义Model、数据库

    本文将介绍自定义Model过程中数据库数据源的获取方法,我使用过以下三种方式获取数据库数据源: 创建 存储对应数据库所有字段的 结构体,将结构体置于容器中返回,然后根据索引值(QModelIndex) ...

  2. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

  3. Qt安装配置

    Qt Creator: 下载: Qt 5.5.1 for Windows 32-bit(MinGW 4.9.2, 1.0 GB):http://download.qt.io/official_rele ...

  4. Qt信号与槽自动关联机制

    参考链接1:http://blog.csdn.net/skyhawk452/article/details/6121407 参考链接2:http://blog.csdn.net/memory_exce ...

  5. 保持Qt GUI响应的几种方法

    最开始使用Qt时就遇到过QT Gui失去响应的问题,我是用多线程的方式解决的,然而通常来说,多线程是会降低程序的运行速度. 之后,在使用QSqlQuery::execBatch()函数时,Qt Gui ...

  6. Qt 中使用Singleton模式需小心

    在qt中,使用Singleton模式时一定要小心.因为Singleton模式中使用的是静态对象,静态对象是直到程序结束才被释放的,然而,一旦把该静态对象纳入了Qt的父子对象体系,就会导致不明确的行为. ...

  7. Qt——组件位置随窗口变化

    当我们用Qt Designer设计界面时,有时会面临这样一个问题:需要在窗口指定位置放置组件,并且当窗口位置大小改变时,该组件相对其父对象的位置是不变的,如下面两幅图所示 ,首先看上面这幅图,注意bu ...

  8. (转) Qt 出现“undefined reference to `vtable for”原因总结

    由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道. 今天我 ...

  9. qt中ui的 使用介绍

    1.什么是ui?ui通常是用Qt 设计师设计出来的界面文件的后缀.通常情况下ui是一个指向这个界面类的指针.ui-> 一般就是用来访问这个界面类里面的控件.例如你的ui文件里有一个叫okButt ...

  10. Qt 开启鼠标跟踪,自动激活mouseMoveEvent的问题

    最近在Qt上实现一个功能,鼠标在图片上移动,触发mouseMoveEvent事件,进而生成一个小的半透明窗口,放大显示以鼠标为中心的一个区域的图像并随鼠标移动.但是,必须鼠标摁下,才触发mouseMo ...

随机推荐

  1. 1006: Hero In Maze

    1006: Hero In Maze 时间限制: 1000 Sec  内存限制: 64 MB提交: 417  解决: 80[提交][状态][讨论版][命题人:外部导入] 题目描述 500年前,Jess ...

  2. redis hash类型

  3. 【洛谷P1314】[NOIP2011]聪明的质监员

    聪明的质监员 题目链接:https://www.luogu.org/problemnew/show/P1314 Y(W)随W的值增大而减小 二分W的值,找到最小的W使得Y(W)>S: 比较Y(W ...

  4. HTML页面生成ASPX页面

    这个功能是在DTcms Demo网站里面扣出来的一个小功能,他的Demo网站里面可以在HTML写好所有的代码,然后生成一下ASPX页面,就可以访问了.具体的流程下篇文章来分析.这篇文章主要是讲HTML ...

  5. RDVTabBarController--可自由定制的iOS底部导航控件

    RDVTabBarController:一个十分完善的tabBarController,可以自定义角标个数,爽的停不下来. RDVTabBarController地址:RDVTabBarControl ...

  6. web攻击技术与防护

    一.跨站脚本攻击(XSS) 跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器运行非法的HTML标签或JavaScript进行的一种攻击.动态创建的HTML部分有可能隐藏着安全漏洞.就这样, ...

  7. 触发ionic弹窗区域外的方法

    最近项目需要在页面弹窗的时候需要点击弹窗区域外的地方,其实也就是点击页面HTML就可以关闭弹窗, 首先在controller通过js获取到html的dom节点,然后绑定点击事件,话不多说上代码:   ...

  8. vscode + leetcode +github 同步

    1.用VScode打开本地leetcode文件夹 C:\Users\Administrator\.leetcode 2.上传到本地git库 3.打开github桌面,上传到远程库

  9. 【例题收藏】◇例题·V◇ Gap

    ◇例题·V◇ Gap 搜索训练开始了……POJ的数据比ZOJ强多了!!看来不得不写正解了 +传送门+ ◇ 题目 <简要翻译> 有一个四行九列的矩阵——在第1~4行.2~8列上填上数字 11 ...

  10. MySQL跟踪SQL&慢查询分析工具

    简介 之前的工作一直使用的SQL SERVER, 用过的都知道,SQL SERVER有配套的SQL跟踪工具SQL Profiler,开发或者定位BUG过程中,可以在操作页面的时候,实时查看数据库执行的 ...