qt creator 交叉编译_vc++ 快速转 Qt

前提: windows 平台,有 vc++ 经历或 windows c++ 游戏开发经历。

仅仅关注必要的,达到可以面试初级 qt 开发的程度。


安装:不用下源码安装,直接找 Qt exe 安装包。比如这个,

http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-windows-x86-mingw530-5.8.0.exe

http://pan.baidu.com/s/1cpjQEi

helloworld:

新建默认项目,最终大概如下:

ae6a51c5dc1cbb6323f19c52267166b6.png

这个就是 qt creator,如果不知道,还以为是很高端的东西,其实就是个 ide 。

F1 查看系统类说明。

按 F5 运行(编译并运行),我这边看到反应比较慢,可能需要加载依赖。

226c9c57ccafc0db4e1980a73bf2f42e.png

直接看编辑器:

点击 mainwindow.ui 或这种后缀的文件,进入编辑器。

3e3dfa932b939d1d131e4589f2337c01.png

mfc 的味道,忽略

留意到 ui_mainwindow.h (路径在上级目录下 build-工程名-xxxx 文件夹下,例如我的路径在D:UsersAdministratorDocumentsbuild-first-Desktop_Qt_5_8_0_MinGW_32bit-Debugui_mainwindow.h),会发现,有对应 ui 编辑器的代码,每次编译后会自动生成,一时也不太确定能不能修改这文件。

4c1e3bfb498525aa9036c6ba6f994a59.png

个人感觉 Qt 应用开发框架和 MFC 框架类似,和游戏框架类似,一开始不必深入。

log 使用 qDebug;

ctrl + b 编译; ctrl + r 运行(不调试); F5 调试运行;

Qt 窗口:

QWidget 所有窗口基类。提供平时关心的位置大小标题焦点等方法。

信号和槽

特别的地方来了, Qt 独有的内容:

https://zhuanlan.zhihu.com/p/28370186 这个教程比较详细。

总结就是:

信号就是事件消息,槽就是函数,

注册事件用 connect

触发信号用 emit

既然用 Qt creator ,所以就用 creator 链接(注册)信号和槽

先实现一个方法 test1 作为槽(不是必须的,但如果不实现,运行会报错),

然后点击下面按钮或 F4

4af96ac4211b99c5081475284341b53f.png

应该要切换一下下面所示 Signals & Slots Editor 顾名思义。

6db603ce0f76beaface9071c99207344.png

“拖控件”

eaff65c6333038682059b04f96f641d4.png

发现目的空白, 勾选左下角框可以看到出现 MainWindow 基类已经实现的槽,但这里我们用 MainWindow::test1 作为槽。

fbe4e6ab9a7c481b03315ec7227f4eb1.png

点击编辑,添加 test1 。 然后发现有自定义的槽了。

c9ea05347214b6e436f1bf1a496c1446.png

保存后 F5 运行调试,如无意外,点击按钮后 test1 被调用了。

再看看 ui_mainwindow.h ,会发现多了一句:

QObject::connect(pushButton, SIGNAL(clicked()), MainWindow, SLOT(test1()));

布局

2989303b2fe0177fddaa80bd4ddac419.png

线程

直接进阶,不只做个 hello world 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值