Qt(1)
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)的更多相关文章
- QT内省机制、自定义Model、数据库
本文将介绍自定义Model过程中数据库数据源的获取方法,我使用过以下三种方式获取数据库数据源: 创建 存储对应数据库所有字段的 结构体,将结构体置于容器中返回,然后根据索引值(QModelIndex) ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- Qt安装配置
Qt Creator: 下载: Qt 5.5.1 for Windows 32-bit(MinGW 4.9.2, 1.0 GB):http://download.qt.io/official_rele ...
- Qt信号与槽自动关联机制
参考链接1:http://blog.csdn.net/skyhawk452/article/details/6121407 参考链接2:http://blog.csdn.net/memory_exce ...
- 保持Qt GUI响应的几种方法
最开始使用Qt时就遇到过QT Gui失去响应的问题,我是用多线程的方式解决的,然而通常来说,多线程是会降低程序的运行速度. 之后,在使用QSqlQuery::execBatch()函数时,Qt Gui ...
- Qt 中使用Singleton模式需小心
在qt中,使用Singleton模式时一定要小心.因为Singleton模式中使用的是静态对象,静态对象是直到程序结束才被释放的,然而,一旦把该静态对象纳入了Qt的父子对象体系,就会导致不明确的行为. ...
- Qt——组件位置随窗口变化
当我们用Qt Designer设计界面时,有时会面临这样一个问题:需要在窗口指定位置放置组件,并且当窗口位置大小改变时,该组件相对其父对象的位置是不变的,如下面两幅图所示 ,首先看上面这幅图,注意bu ...
- (转) Qt 出现“undefined reference to `vtable for”原因总结
由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道. 今天我 ...
- qt中ui的 使用介绍
1.什么是ui?ui通常是用Qt 设计师设计出来的界面文件的后缀.通常情况下ui是一个指向这个界面类的指针.ui-> 一般就是用来访问这个界面类里面的控件.例如你的ui文件里有一个叫okButt ...
- Qt 开启鼠标跟踪,自动激活mouseMoveEvent的问题
最近在Qt上实现一个功能,鼠标在图片上移动,触发mouseMoveEvent事件,进而生成一个小的半透明窗口,放大显示以鼠标为中心的一个区域的图像并随鼠标移动.但是,必须鼠标摁下,才触发mouseMo ...
随机推荐
- 基于Mybatis的Dao层开发
转自:https://www.cnblogs.com/rodge-run/p/6528398.html 基于Mybatis的Dao层开发 SqlSessionFactoryBuilder用于创建 Sq ...
- Android检查更新(是否强制更新)
Android应用客户端通常会需要更新,而且根据需求分为普通更新和强制更新.是否强制更新可通过检查更新时从服务器获取的标志位来判断. public class UpdateManager { priv ...
- phpmyadmin 打开数据表较多,数据量较大的数据库时出现超时的解决办法
用phpmyadmin打开数据表较多,数据量较大的数据库时,会出现超时,或者等半天打开了说数据库没有表.并且即便打开了,再进行其他浏览,编辑,sql等操作,页面也是相当慢的,慢等几乎无法忍受.这里慢也 ...
- spring中使用i18n(国际化)
简单了解i18n i18n(其来源是英文单词internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称.在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件 ...
- 第14章 启动文件详解—零死角玩转STM32-F429系列
第14章 启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...
- rbg的代码
不得不赞rbg的代码,写的是真的好,各种异常都考虑到了,至少常见的异常没有了. 还有selective search的代码,也是很赞. 而edgebox的代码则不行啊,demo写的太死,而且代码里只能 ...
- java XML 通过BeanUtils的population为对象赋值 根据用户选择进行dom4j解析
根据xml文件设计Student对象 <?xml version="1.0" encoding="UTF-8"?> <students> ...
- linux poll用法
相对于select来说,poll 也是在指定时间内论询一定数量的文件描述符,来测试其中是否有就绪的,不过,poll 提供了一个易用的方法,来实现 i/o 复用. 声明如下: #include < ...
- POJ 3608 凸包间最短距离(旋转卡壳)
Bridge Across Islands Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11539 Accepted: ...
- centos安装Linux
CentOS下安装Redis Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计 ...