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. Android检查更新(是否强制更新)

    Android应用客户端通常会需要更新,而且根据需求分为普通更新和强制更新.是否强制更新可通过检查更新时从服务器获取的标志位来判断. public class UpdateManager { priv ...

  2. 斯坦福大学3D模型库-The Stanford 3D Scanning Repository

    这里总是让人感觉有差距的地方!!! http://graphics.stanford.edu/data/3Dscanrep/

  3. django中介模型,CBV模型,及logging日志配制

    1.中介模型 中介模型,这个是在我们创建表格时,多对多添加的时候应用到的,通过制定ManyToManyField字段中的through参数来定义,为两者的关系新建一个中介class 为什么会产生这个中 ...

  4. react中内联样式的z-index不起作用.

    <div style={{z-index: -100}} > hello,money. </div> 以上z-index样式如上写法是不起作用,原因是在react中内联样式的写 ...

  5. lintcode_93_平衡二叉树

    平衡二叉树   描述 笔记 数据 评测 给定一个二叉树,确定它是高度平衡的.对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1. 您在真实的面试中是否遇到过 ...

  6. ofbiz研究

    近段时间,刚有有时间研究了下ofbiz ; 目前还是刚开始,后期会记录过程 有一起研究的没

  7. 交换机基础设置之vtp管理vlan设置

    vtp的设置有三种模式1:server模式,负责创建,删除vlan(服务器模式) 2:client模式,负责接收并转发来自server的信息(客户机模式) 3:transparent模式,只负责转发, ...

  8. JavaScript---ECMA对象

    1.对象的概念及分类 1.1 ECMAScript中没有类,但定义了“对象”,逻辑上等价于其他程序设计语言中的类. var o = new Object(); 1.2 本地对象(native obje ...

  9. vue笔记v-bind

    把message的信息绑定给title,运行出来的结果是<span title="you loaded this page on +Mon Nov 21 2016 18:28:38 G ...

  10. windows和linux上mysql的安装

    mysql基于多平台,多版本的安装 mysql.tar.gz  链接:https://pan.baidu.com/s/1lG9BNL1mG4qbjM8xLHtrjQ 密码:s4tk MySQL 是一个 ...