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,一经查实,立即删除!

相关文章

vbs读取服务器上的txt文件,VBS读写txt文件常用方法

1、打开文件使用opentextfile方法set fs createobject(“scripting.filesystemobject”)set tsfs.opentextfile(“c:\1.txt”,1,true)注意这里需要填入文件的完整路径,后面一个参数为访问模式1为forreading2为forwriting8为appending第三个参数指定如果指定文件不存…

mysql的四层架构_分布式数据库服务器的四层架构

分布式数据库服务器的四层架构:访问层:接收访问信息并按负荷智能的分配给中转服务器,接受数据结果并返回客户端。中转层:接收访问服务器发来的数据访问指令,从总储存服务器寻找数据分布所在的储存服务器,发…

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提供了几个函数…

php查询MySQL结果转化为数组_PHP如何将SQL查询结果转为多维数组,并按查询行输出...

在php中,SQL查询数据库得到的是多行多列的数据,如何将查询结果转为二维数组,我的目的是把多行查询结果按行输出,有没有什么方法,求详细代码示例查询结果示例:reserv_idnametyper...在php中,SQL查…

python tclerror_TclError:错误的窗口路径名(Python)

在其中一个视图中,有一个用于关闭实际视图的按钮,它可以工作,但当我再次尝试打开该视图时,它会显示下一个错误:Exception in Tkinter callbackTraceback (most recent call last):File "/usr/lib/python2.7/lib-t…

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

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

易语言mysql乱码_分享一个解决MySQL写入中文乱码的方法

【编程语言:易语言】之前有发帖请教过如何解决MySQL写入中文乱码的问题。但没人会,或者是会的人不想回答。搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件很多日子。直到昨天又一次互联网搜索,尝试很多…

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

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

mongodb java数组_MongoDB 基础java数据类型

mongodb的java数据类型有Object Ids 自动IDRegular Expressions 正则表达式搜索记录Dates/Times 时间Database References 数据基础结构Binary Data 二进制流Timestamp Data 时间标记戳Code Data 代码数据Embedded Documents 嵌入式文档Arrays 数组类型详细参考原来英文 http:/…

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

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

java foward_java 中sendredirect()和forward()方法的区别

HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源。sendRedirect实现请求重定向,forward实现的是请求转发。在web服务器内部的处理机制也是不一样的。1. 跳转方式运用forward方法只能重定向到同一个Web应用程序中的一个资…

java万能编码转换_java编码转换的详细过程

常见的JAVA程序包括以下类别:*直接在console上运行的类(包括可视化界面的类)*JSP代码类(注:JSP是Servlets类的变型)*Servelets类*EJB类*其它不可以直接运行的支持类这些类文件中,都有可能含有中文字符串,并且常用前三类JAVA程序和…

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

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

db h2 数据类型_H2Database数据类型

标签:整数(INT)INT | INTEGER | MEDIUMINT | INT4 | SIGNED值的范围为: -2147483648 到 2147483647.对应到Java类型: java.lang.Integer.例如:INT布尔型(BOOLEAN)BOOLEAN| BIT | BOOL可能的值为: TRUE 和 FALSE。对应到…

etmvc mysql乱码_etmvc中集成spring使用druid连接池

etmvc中ActiveRecord(下称AR)在使用上可以独立使用,其数据库的连接信息通过activerecord.properties进行配置,具体如下:domain_base_classcom.et.ar.ActiveRecordBasecom.et.ar.ActiveRecordBase.driver_classcom.mysql.jdbc.Drivercom.et.ar…