Learning Qt 5! (1):Hello,world!

1.首先在ubuntu 16.04中安装Qt 5 & Qt creator:

sudo apt-get install cmake qt5-default qtcreator

完成后可通过qmake -v命令确认安装的版本:
qmake
在终端中输入qtcreator即可打开Qt creator。

2.Hello World!
参考Qt 学习之路 2:Hello, World!
Qt Creator 会在 HelloWorld 项目文件夹下生成5个文件:main.cpp,mainwindow.cpp,mainwindow.h , HelloWorld.promainwindow.ui
pro 文件就是 Qt 工程文件(project file),由 qmake 处理,生成 make 程序所需要的 makefile;main.cpp 里面就是一个main函数,作为应用程序的入口函数;mainwindow.h和mainwindow.cpp是主窗体的头文件和源文件。mainwindow.ui是界面文件(xml?)。
在main.cpp中写代码:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QLabel label("Hello, world");
    label.show();

    return app.exec();
}

来自博主豆子的代码讲解:

前两行是 C++ 的 include 语句,这里我们引入的是QApplication以及QLabel这两个类。main()函数中第一句是创建一个QApplication类的实例。对于 Qt 程序来说,main()函数一般以创建 application 对象(GUI 程序是QApplication,非 GUI 程序是QCoreApplication。QApplication实际上是QCoreApplication的子类。)开始,后面才是实际业务的代码。这个对象用于管理 Qt 程序的生命周期,开启事件循环,这一切都是必不可少的。在我们创建了QApplication对象之后,直接创建一个QLabel对象,构造函数赋值“Hello, world”,当然就是能够在QLabel上面显示这行文本。最后调用QLabel的show()函数将其显示出来。main()函数最后,调用app.exec(),开启事件循环。我们现在可以简单地将事件循环理解成一段无限循环。正因为如此,我们在栈上构建了QLabel对象,却能够一直显示在那里(试想,如果不是无限循环,main()函数立刻会退出,QLabel对象当然也就直接析构了)。

Q&A:
(1)QMAKE_CXXFLAGS += -std=c++0x是个啥?

gcc 默认不使用 C++11 标准进行编译,如果要使用 C++11 编译就需要增加编译器参数 -std=c++0x;另外也可以在 pro 文件中增加 CONFIG += c++11

(2)mainwindow.ui是个啥?

是 IDE 自动生成的界面文件,如果用不到的话就不用管它,或者直接删除也可以;这个文件可以用设计师拖放设计界面。

3.关于C语言中main()函数的写法,有两篇博客可以参考,还蛮有意思:
你所未必了解的main()函数的事情
Main函数中的参数argc,argv的使用简单解析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值