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();  
    }

    结果

  • 相关阅读:
    动态规划总结(01背包 完全背包 多重背包)
    HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化)
    HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)
    HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)
    HDOJ(HDU).2159 FATE (DP 带个数限制的完全背包)
    HDOJ(HDU).4508 湫湫系列故事――减肥记I (DP 完全背包)
    HDOJ(HDU).1284 钱币兑换问题 (DP 完全背包)
    HDOJ(HDU).1114 Piggy-Bank (DP 完全背包)
    HDOJ(HDU).3466 Dividing coins ( DP 01背包 无后效性的理解)
    POJ.3624 Charm Bracelet(DP 01背包)
  • 原文地址:https://www.cnblogs.com/goodluck14/p/13342037.html
Copyright © 2011-2022 走看看