zoukankan      html  css  js  c++  java
  • QT 学习1

    第一步是安装环境,因为之前已经安装过qt了,所以这里直接跳过这一步。

    我找了很多书籍,qt学习基本都是以qtcreator开始教的,建个项目,在ui上直接操作,我觉得熟了可以这样搞,一开始学习还是要脚踏实地,自己写。

    第一个qt程序

    // qt.cpp
    #include <QtDebug> int main( ) { qDebug() << "Hello Qt World!"; return 0; }

    保存后,输入 qmake  -project  得到qt-cli.pro 文件(以文件夹命名的)

    文件内容长这样

    再输入 qmake 会生成Makefile

    接着输入make 会生成可执行文件

    执行./qt-cli 即可运行

     这不像是图形界面,连个窗口都没有,加个窗口

    #include <QApplication>
    #include <QMainWindow>
    
    int main(int argc, char* argv[])
    {
        QApplication a(argc, argv);   // 必须要,少了编译报错
    
        QMainWindow w;
        w.show();
    
        return a.exec();    // 必须要,少了编译报错
    
    }

    编译前一定要在.pro 文件中加上   greaterThan(QT_MAJOR_VERSION, 4): QT += widgets ,不是会报一堆错

    可以认为这4行就是一切套路的开始,基本每个qt程序都有它。

    结果

     设置窗口标题,大小等

    #include <QApplication>
    #include <QMainWindow>
    
    int main(int argc, char* argv[])
    {
        QApplication a(argc, argv);   // 必须要,少了编译报错
        // QApplication b(argc, argv);    // 不要加,程序会出莫名其妙的问题
    
        QMainWindow w;
        w.show();
        w.setWindowTitle("QT");    // 设置标题
        w.resize(1000,500);    // 设置大小
    
        QMainWindow x;       // 再产生一个窗口
        x.show();
        x.setWindowTitle("GTK");
        x.setFixedSize(300, 500);   // 设置固定大小,没有最大化的按钮了
        // b.exec();   // 不要加,程序会出莫名其妙的问题
        return a.exec();    // 必须要,少了编译报错
    
    }

     去掉最大化,最小化,关闭等按钮

    #include <QApplication>
    #include <QMainWindow>
    
    int main(int argc, char* argv[])
    {
        QApplication a(argc, argv);   // 必须要,少了编译报错
        // QApplication b(argc, argv);    // 不要加,程序会出莫名其妙的问题
    
        QMainWindow w;
    
        w.setWindowTitle("QT");
        w.resize(1000,500);    // 设置大小
        //w.setWindowFlags(Qt::WindowCloseButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowMinimizeButtonHint);
        w.setWindowFlags(Qt::WindowCloseButtonHint);       // 只有关闭
        w.setWindowFlags(Qt::WindowMaximizeButtonHint);    // 只有最大化
        w.setWindowFlags(Qt::WindowMinimizeButtonHint);    // 只有最小化
        // 最终结果只有最小化,因为最后设置最小化把上面的覆盖了
        w.show();
    
        QMainWindow x;       // 再产生一个窗口
        x.show();
        x.setWindowTitle("GTK");
        x.setFixedSize(300, 500);   // 设置固定大小,没有最大化的按钮了
        // b.exec();   // 不要加,程序会出莫名其妙的问题
        return a.exec();    // 必须要,少了编译报错
    
    }

     关闭所有按钮(不知道有没有更好的办法)

    #include <QApplication>
    #include <QMainWindow>
    
    int main(int argc, char* argv[])
    {
        QApplication a(argc, argv); 
    
        QMainWindow w;
    
        w.setWindowTitle("QT");
        w.setFixedSize(1000,500);  // 设置固定大小后没有最大化按钮
        w.setWindowFlags(Qt::WindowMaximizeButtonHint);    // 只开启最大化按钮
    
        // 结果就是什么按钮没有
        w.show();
        return a.exec();  
    }

    结果

  • 相关阅读:
    仿12306客户端
    object-c开发中混合使用或不使用ARC
    Objective-c 的 @property 详解
    iPhone的Push(推送通知)功能原理浅析
    Objective-C内存管理教程和原理剖析3
    IDEA 创建JAVA Maven Web 工程
    Linux CenOS 7 安装Redis
    Linux CenOS 7 安装Tomcat
    Linux CentOS 7 安装wordpress
    Linux CenOS 7 安装JDK
  • 原文地址:https://www.cnblogs.com/goodluck14/p/13342037.html
Copyright © 2011-2022 走看看