zoukankan      html  css  js  c++  java
  • QT入门-创建一个QT程序

    创建QT程序

    1)     类信息中三个类:QMainWindow, QWidget, QDialog都可以作为顶层窗口(程序打开时第一个弹出来的窗口)。

    QWidget是所有窗口类的父类(控件也可以看成为窗口),QDialog是派生出来的对话框窗口(只有一个关闭),而“QMainWindow中在setUi时自动为用户创建了一个菜单栏、工具栏、中心窗口和状态栏。QWidget是没有这几点的。”

    2)能否进行拖拽控件的操作取决于是否选择“创建界面”。

    3)main.cpp

    应用程序入口。QApplication:应用程序类(进入消息循环,每触发一个事件,就捕捉并判断进行处理)。每一个QT程序中有且只有一个。

    4)MyWidget w; 窗口类创建出来默认是不显示的,需要调用成员函数show()。

    5)return a.exec();  a是应用程序类实例,走到了后台进行消息循环。exec()内部是一个死循环,但遇到某个条件的时候(触发事件..)会跳出去,结束监督。

    6) QT中类名和头文件名一致,且没有.h。当遇到类没有被声明/定义,直接include进来对应的头文件即可。

    7)MyWidget为子类,派生自QWidget。Q_OBJECT是一个宏,如果要使用信号和槽就必须添加这个宏。

    8).pro文件:

    QT+=的是当前项目用到的模块(QT +=core gui)查询用到哪个模块:借助F1,看qmake:QT +=…部分。如果编译报错,又确定头文件加上了,那么可能是模块没有添加。按ESC推出帮助。

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets为了兼容以前的版本,5.0一下没有widgets模块。如果是单纯做QT5程序可以不加这句话,widgets写道QT+=后面就可以了。

    换行:加””

  • 相关阅读:
    fatal error: bits/c++config.h: No such file or directory
    linux 下Beyond Compare 安装
    TD 加载界面实现
    JPA 如何实现 insert ignore
    jsonp 未实现跨域的原因?
    Linux 常用命令
    rancher server偶发504问题排查
    docker清理none image
    docker构建权限问题
    docker containers logs clean
  • 原文地址:https://www.cnblogs.com/lipoicyclic/p/13235087.html
Copyright © 2011-2022 走看看