• 命令行执行Qt程序


    原文网址

    //helloworld.cpp
    #include <QApplication>
    #include <QPushButton>
    
    int main(int argc,char *argv[])
    {
        QApplication app(argc,argv);
        QPushButton btn("hello world!");
        btn.show();
        QObject::connect(&btn,SINGAL(clicked()),&app,SLOT(quit()));
        return app.exec();
    }

    Qt程序编译运行很简单,利用Qt提供的qmake工具可以很好的进行编译,在命令行输入一下编译过程:
    qmake -project //声称项目文件(*.pro)
    qmake //生成Makefile文件
    make //生成可执行文件
    ./helloworld //执行程序

    执行程序的结果为:
    显示一个窗口,窗口中有一个hellosworld标签。点击helloworld标签后将退出程序.

    下面就来仔细讲一下这个程序:
    第一行,所有的Qt图形应用程序都必须包含此文件。它包含了Qt图形化应用程序的各种资源、基本设置、控制流、以及事件处理等。

    第二行包含了程序中的按钮控件的头文件

    第三行为应用程序的入口,所有Qt程序都必须有一个main()函数,以argc和argv作为入口参数
    第四行创建了一个QApplication对象,每个程序都必须有且只有一个QApplication对象、采用
    argc和argv作为参数、以便对命令行参数进行处理

    第五行创建了一个QPushButton对象并且设置它的文本为”hello world”,由于此处没有指定按钮的父
    窗体,因此以自己作为主窗口

    第六行调用控件对象的show()方法来显示此按钮。控件被创建时默认是不显示的,因此调用show()函数来
    进行显示。

    第七行QObject::connect()方法是Qt的重要特征。即信号和槽机制。当按钮被按下则触发clicked()信号的发射,与之相连的QApplication对象的quit()响应按钮信号,执行退出操作。

    第八行调用QApplication的exec()方法,程序进入消息循环,等待可能输入进行相应。Qt完成事件处
    理及显示的工作,并在应用程序退出是返回exec()的值。

  • 相关阅读:
    【纯水题】POJ 1852 Ants
    【树形DP】BZOJ 1131 Sta
    【不知道怎么分类】HDU
    【树形DP】CF 1293E Xenon's Attack on the Gangs
    【贪心算法】CF Emergency Evacuation
    【思维】UVA 11300 Spreading the Wealth
    【树形DP】NOI2003 逃学的小孩
    【树形DP】BZOJ 3829 Farmcraft
    【树形DP】JSOI BZOJ4472 salesman
    【迷宫问题】CodeForces 1292A A NEKO's Maze Game
  • 原文地址:https://www.cnblogs.com/shine-yr/p/5214753.html
Copyright © 2020-2023  润新知