zoukankan      html  css  js  c++  java
  • 02:QT的第一个程序

    新建项目,有这么几个文件:

    1. main.cpp                      //一个main函数,作为应用程序的入口函数
    2. mainwindow.cpp
    3. mainwindow.h
    4. untitled.pro             //QT工程文件

    打开main.cpp,引用代码

     1 #include <QApplication>
     2 #include <QLabel>//引用头文件
     3 
     4 int main(int argc, char *argv[])

     //argc 是 argument count的缩写,表示argv这个二级指针指向的内存区域中保存的由stub写入的有效命令行参数的个数.
    //argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要输入的main函数的参数个数是argc-1个
     5 {
     6     QApplication app(argc, argv);
    //
    创建一个QApplication类的实例。
    //对于 Qt 程序来说,main()函数一般以创建 application 对象(GUI 程序是QApplication,非 GUI
    程序是QCoreApplicationQApplication实际上是QCoreApplication的子类。)开始,后面才是实际业务的代码。
    7
    8 QLabel label("Hello, world");
    9
    label.show(); 10 11 return app.exec(); 12 }

     main()函数最后,调用app.exec(),开启事件循环。我们现在可以简单地将事件循环理解成一段无限循环。正因为如此,我们在栈上构建了QLabel对象,却能够一直显示在那里(试想,如果不是无限循环,main()函数立刻会退出,QLabel对象当然也就直接析构了)。

    补注:更为简单的解释:

    #include "widget.h"
    #include <QApplication>
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv); //定义并创建应用程序
        Widget w; //定义并创建窗口
        w.show(); //显示窗口
        return a.exec(); //应用程序运行
    }
  • 相关阅读:
    pycharm专业版破解
    XSS漏洞扫描工具:BruteXSS
    人生第一次成功的sql注入
    黑客学习之信息收集
    redhat 下搭建网站
    网络安全渗透--判断网站使用何种网页语言,判断网站所用服务器
    jqgrid表头上面再加一行---二级表头
    实验吧 burpsuie拦截修改请求
    实验吧 貌似有点难 伪造ip
    实验吧 这个看起来有点简单!&渗透测试工具sqlmap基础教程
  • 原文地址:https://www.cnblogs.com/yige2019/p/12296957.html
Copyright © 2011-2022 走看看