当前位置:   article > 正文

Qt - macOS 安装配置_qt for mac

qt for mac


一、关于 QT

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。


1.2 Qt的发展史

  • 1991年 Qt最早由奇趣科技开发
  • 1996年 进入商业领域,它也是目前流行的Linux桌面环境KDE的基础
  • 2008年 奇趣科技被诺基亚公司收购,Qt称为诺基亚旗下的编程语言
  • 2012年 Qt又被Digia公司收购
  • 2014年4月 跨平台的集成开发环境Qt Creator3.1.0发布,同年5月20日配发了Qt5.3正式版,至此Qt实现了对iOS、Android、WP等各平台的全面支持。

1.3支持的平台

  • Windows – XP、Vista、Win7、Win8、Win2008、Win10
  • Uinux/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多X11平台
  • Macintosh – Mac OS X
  • Embedded – 有帧缓冲支持的嵌入式Linux平台,Windows CE

1.4 Qt版本

Qt按照不同的版本发行,分为商业版和开源版

  • 商业版
    为商业软件提供开发,他们提供传统商业软件发行版,并且提供在商业有效期内的免费升级和技术支持服务。
  • 开源的LGPL版本:
    为了开发自有而设计的开放源码软件,它提供了和商业版本同样的功能,在GNU通用公共许可下,它是免费的。

1.5 Qt 的优点

  • 跨平台,几乎支持所有的平台
  • 接口简单,容易上手,学习QT框架对学习其他框架有参考意义。
  • 一定程度上简化了内存回收机制
  • 开发效率高,能够快速的构建应用程序。
  • 有很好的社区氛围,市场份额在缓慢上升。
  • 可以进行嵌入式开发。

1.6 成功案例

  • Linux桌面环境KDE
  • WPS Office 办公软件
  • Skype 网络电话
  • Google Earth 谷歌地图
  • VLC多媒体播放器
  • VirtualBox虚拟机软件

二、软件安装

1、保证已 Xcode 和 Command Line Tools

安装完毕后,Clang就有了

https://developer.apple.com/downloads/


2、下载 QT

https://www.qt.io/download-qt-installer

拖至页尾

我下载的安装包名为 qt-unified-mac-x64-4.0.1-1-online.dmg


从以下路径进入也可以下载到同样的安装包:

https://www.qt.io/download-open-source

https://download.qt.io 所有下载包

Windows 推荐使用 MinGW 版本(好过VS版本),MinGW 默认编码格式为 utf-8。


3、下载 qtcreator

下载地址:http://download.qt.io/official_releases/qtcreator/


查看qt版本

~/packages/Qt5.14.2/5.14.2/clang_64/bin/qmake

/usr/local/Cellar/qt/5.14.2/mkspecs/macx-xcode


三、创建工程

1、打开 qt creator app


2、创建工程


项目名不能有空格或中文



Base class 有 QWidget、QMainWindow 和 QDialog 可选。这里我们选择 QWidget 。

QWidget 是 QMainWindow 和 QDialog 的父类;是最简单的窗口;

QMainWindow 会有上方的菜单栏,下方的状态栏等;

QDialog 对话框。



不设置版本控制


得到这样的目录结构

https://blog.yowko.com/no-valid-kits-found-on-mac/


Qt 常见用法

1、可以点击 简化树形视图 来不区分 .h 和 .cpp 文件。


2、分栏

点击分栏 是上下分栏效果;可以点击 左右分栏


四、基础项目文件


https://www.bilibili.com/video/BV1g4411H78N?p=5


main.cpp 文件

#include "mywidget.h"
#include <QApplication>// 包含一个应用程序类的头文件
 
//main程序入口  argc命令行变量的数量  argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在Qt中,应用程序对象 有且仅有一个
    QApplication a(argc, argv);
    
    //窗口对象  myWidget父类  -> QWidget
    myWidget w;
    //窗口对象 默认不会显示,必须要调用show方法显示窗口
    w.show();
    
    //让应用程序对象进入消息循环
    //当代码阻塞到这行
    return a.exec();

//  a.exac() 相当于下述代码
//    while(true)
//    {
//         if(点击叉子)
//        {
//            break;
//        }
//    }

}  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

.pro文件

这个文件最好不要添加任何内容,包括注释。这里添加注释方便解读:

#-------------------------------------------------
#
# Project created by QtCreator 2018-01-05T09:31:24
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  // 大于4版本以上,包含 widget 模块

TARGET = 01_FirstProject // 目标,也是生成 .exe 程序的名称
TEMPLATE = app             // 模板,app 为应用程序模板;还有 lib, vcapp 等。


SOURCES += main.cpp\  // 源文件,会自动追加
        mywidget.cpp \
    mypushbutton.cpp

HEADERS  += mywidget.h \  // 头文件
    mypushbutton.h

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

mywidget.h

#ifndef MYWIDGET_H
#define MYWIDGET_H


#include <QWidget> //包含头文件 QWidget 窗口类

class myWidget : public QWidget
{
    Q_OBJECT // Q_OBJECT宏,允许类中使用信号和槽的机制

public:
    myWidget(QWidget *parent = 0); //构造函数
    ~myWidget(); //析构函数
};

#endif // MYWIDGET_H 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

快捷键

  • 注释 ctrl + /
  • 运行 ctrl + r
  • 编译 ctrl + b
  • 字体缩放 ctrl + 鼠标滚轮
  • 查找 ctrl + f
  • 整行移动 ctrl + shift + ↑ 或者↓
  • 自动对齐 ctrl + i;
  • 同名之间的.h 和 .cpp切换 F4
  • 查看帮助文档:第一种方式 F1,第二种 左侧按钮, 第三种 C:\Qt\Qt5.6.0\5.6\mingw49_32\bin

2021-02-04

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/291943
推荐阅读
相关标签
  

闽ICP备14008679号