mac os qt项目编译_【Qt开发】第一个Qt程序Hello World!

一:说在前头

我的第一份工作是做生产工具,当时用的MFC,IDE是VC6.0,现在想想真是古董级别,10年至今,微软也一直没有对MFC进行升级,冥冥中感觉微软自己都放弃MFC了,市场上貌似MFC的岗位越来越少了,基本上也都是原先的项目维护,qt已经成为新的客户端开发的趋势,顺者昌,逆者亡,无奈只能放弃MFC转投Qt,Qt实现了跨平台功能,一套代码可以在windows,linux,mac上运行,大大节省了开发者平台移植工作量,Qt号称要做出像网页一样漂亮的界面,小编会出一系列的Qt开发的文章。

Qt开发,IDE可以用QtCreator也可以用visual studio+qt插件,选个用的最习惯的即可,也可以和我一样喜欢新事物,用原生的Qt Creator来进行演示。

实现功能:

启动程序,点击界面上的按钮提示Hello World,并使用windeployqt来打包发布程序。

二:步骤

1.启动Qt Creator,启动后的界面如下

3d5fd18b2f00ddd2fb81229f09257092.png

2.点击文件下的新建文件或项目

900e47405c8e75951fc5ebd3bd427e4f.png

3.选择Application-Qt Widgets Application功能

072a52cdeba1d10305ae7f5b068b7318.png

4.设置工程名称和项目路径,然后点击下一步,下一步

93487e4d1cf5012e889b52a442a08a9d.png

5.自动生成的代码,目录如下:

 a737bb9ee78713e4436a30f5799f8728.png

6.双击mainwindow.ui,会出现界面编辑框,通过拖拽的方式在界面添加,PushButton和Lable控件,变量名分别为btnHello,lable

ffd207c8b96d4032905171e77448c5bb.png

7.鼠标放到PushButton按钮,点击右键选择"转到槽",在弹出界面上选择"clicked()"信号,点击"OK"

b44eacd2bf2ed15cc922218c220a0c43.png

ed0b6917b71e46b7fc182a209615906e.png

8.在Button响应函数添加如下代码。

void MainWindow::on_btnHello_clicked()
{
    ui->label->setText("Hello World!");
}

9.点击编译运行按钮,运行结果如下

92fd95c41e055b01d72ebfd16cdde406.png

三:打包发布

1.编译生成的Release版本,直接双击运行会提升缺少dll库

f2cbbe4c768bf10c90986753d628dd35.png

2.在c盘新建一文件夹,把01-helloworld.exe放入该文件夹,执行打包工具,运行打包指令 windeployqt c:\\qt\\01-helloworld.exe

d027d04b5cc429e4d568efc882e15749.png

919c4cd5083a722fd3ae61d85024fad6.png

3.这时文件夹下回添加该exe所依赖的dll库

d8beda817c5e1d52462b4e5457184225.png

END

4cca5ab27e0c63daea8b5d5d61d568eb.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos mysql 5.5.57_Centos MySQL 5.7安装、升级教程

MySQL 5.7安装、升级笔记分享:卸载当前的 MySQL查看当前 MySQL 版本:停止 MySQL 服务备份数据【数据不重要可以忽略】备份数据库,升级MySQL通常不会丢失数据,但保险起见,我们需要做这一步。输入命令:[rootc…

ug许可服务器在那个文件里,ug许可证位置在哪_ug许可证文件在哪的图文步骤

最近有朋友问小编ug许可证位置在哪的问题,ug安装后许可证在哪里呢?我们应该如何找到ug许可证文件夹的位置呢?相信很多朋友还不太明白。别着急,今天小编就针对ug许可证位置在哪的问题,以ug nx8.5为例,为大家…

如何登陆网页的back office_如何使用iPhone面容ID快速登陆应用或网页

我们总是会在手机中下载很多App,但是不一定都能够记住这些App的密码,即使就算记住了,想要使用某些应用时,不断需要输入密码也让人觉得焦虑。好在苹果在iOS 12中改进了密码自动填充功能,搭配您设备上先进的面容 ID 功能…

mysql 复杂的sql_mysql 一个复杂的sql

查询 物资明细:SELECT r.material_id,r.material_category,r.material_name,r.material_quality,r.standard,r.product_factory,r.material_type,r.measure_unit,(r.numr.num_sub) as num,(r.numr.num_sub)-num_sd-num_yd as current_js_numFROM-- 单独计算各个数值…

接口可以继承抽象类吗_Python接口类的多继承以及抽象类的单继承

一、接口类(面向对象开发的思想和规范)的多继承需求:定义一个tiger类:会走,会游定义一个hawk类:会走,会飞定义一个swan类:会走,会游,会飞(a)如果像以下代码的方式,则不能…

mysql查询注意_mysql中sql查询使用注意

1.注意DESC关键字仅适用于在它前面的列名(birth);不影响species列的排序顺序。SELECT name, species, birth FROM petORDER BY species, birth DESC; ---desc只影响birth.先按照species升序列排序,species值相同的再按照birth降序排序2.日期计算MySQL提供了几个函数…

python线程安全的计数器_Python多线程同步Lock、RLock、Semaphore、Event实例

一、多线程同步由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源。大部分情况都推荐使用多进程。python的多线程的同步与其他语言基本相同,主要包含:Lock & RLock &#x…

java地址传递_关于java中是地址传递还是值传递的测试

首先,我的结论是,如果是对对象进行 操作的话,传的是地址,如果是对基本数据类型进行操作的话,传的是值!下面,我再用一个小的实例来测试我的结论:class Person {int age;public void setAge(int a…

java 线程安全问题_java线程安全问题原因及解决办法

1.为什么会出现线程安全问题计算机系统资源分配的单位为进程,同一个进程中允许多个线程并发执行,并且多个线程会共享进程范围内的资源:例如内存地址。当多个线程并发访问同一个内存地址并且内存地址保存的值是可变的时候可能会发生线程安全问…

java里怎么存入数据并进行排序_Java数据结构之排序---插入排序

插入排序的基本介绍:插入排序是对想要排序的序列以插入的方式寻找该元素的适当的位置,从而达到排序的目的。插入排序的基本思想:把n个待排序的元素看成一个有序表和一个无序表,开始时,有序表只有一个元素(整个序列的第…

java ftp读取文件内容_java读取ftp中TXT文件的案例

最近在开发关于java读取ftp中TXT文件,其中有些坑踩了一下,再次做个记录1、读取文件时我会根据文件名称去生成数据库表,oracle数据库对于表名的长度是有限制的,最多30个字符2、对于多个文件的ftp的读取,每次获取文件后再…

java sql server 2016_SQL server 2016 安装步骤

1.进入安装中心:可以参考硬件和软件要求、可以看到一些说明文档2.选择全新安装模式继续安装3.输入产品秘钥:这里使用演示秘钥进行4.在协议中,点击同意,并点击下一步按钮,继续安装5.进入全局规则检查项,这里…

java resource file_Java 获取Resource目录下的文件解决办法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Java 获取Resource目录下的 文件有两种方式:Java代码中的类,要获取Resource资源 文件目录 下文件绝对路径寻址注意这个 / 址的是根 目录 ,用绝对路径,可能会出现的问题是,…

java中对象类型转换_Java中的对象的类型转换介绍(附代码)

本篇文章给大家带来的内容是关于Java中的对象的类型转换介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。向上转型:子类对象转为父类,父类可以是接口。公式:Father f new Son(…

java面板中添加面板_如何把窗体加入面板中 java

展开全部一般来说,我们常把JPanel[面板]放到JFrame窗体中但是也有一种内部窗体JInternalFrame ,可以放到其他的容器JDesktopPane里,效果图e69da5e887aa62616964757a686964616f31333363373731如下代码如下import java.awt.*;import java.awt.event.*;import java.beans.Property…

mysql 如果存在修改_mysql如存在并发修改可能,一定要注意保证数据一致性

近日,因人员调整接手了一个其他部门负责的项目。随后发现其中的很多关键环节是没有考虑mysql并发操作的,现列出存在的一例问题 并分享如何解决的。问题描述:用户账户余额转移赠送 (用户A将自己的账户剩余金额赠送给用户B),同一时刻还可能存在…

微信对账单 java_微信支付对账,你是如何处理的?

支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,成功时,微信账单接口返回数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单…

java如何处理灰度图片_Java图片的灰度处理方法

通过看网上各种大牛的总结,和自己亲身测试总结一下Java图片的灰度处理方法(1)我们熟知的图片中的像素点有RGB值。(2)图片灰度化的方式大概分为四种,第一种是最大值法(取颜色RGB中的最大值作为灰度值);第二种是最小值法(取颜色RGB的最小值作为…

java jsp校验提示信息_java Jquery表单校验代码jsp页面

jsp.file欢迎注册EasyMall/* 注册表单的js校验 */var formObj {/* 检查输入项是否为空 */"checkNull" : function(name, msg){var value $("input[name"name"]").val().trim();//清空之前的提示消息formObj.setMsg(name, "");if(val…

错误处理方法 java_JAVA常见错误处理方法 和 JVM内存结构

OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏;二是调整JVM启动参数增大内存。OutOfMemoryError有好几种情况,每次遇到这个错误时…