• QT入门


      一、创建一个简单的Qt程序

      启动QtCreate:New Project  -> Application  -> Qt Widgets Application  -> Choose  -> 文件名不能使用中文!

      基类选择:QWidget

         

         快捷键 和 命名规范

    //快捷键
    注释  ctrl + /
    运行  ctrl + r
    编译  ctrl + b
    字体缩放 ctrl + 鼠标滚轮
    查找  ctrl + f
    整行移动 ctrl + shift + ↑或者↓
    帮助文档 F1 或 左侧按钮
    自动对齐 ctrl + i
    同名之间的.h 和 .cpp切换 F4
    
    //命名规范
    类名 首字母大写,单词和单词之间首字母大写
    函数名 变量名 首字母小写,单词和单词之间首字母大写

      widget

    widget,窗体部件,该词起源于window gadget 窗口配件,这两个词,相当于Windows系统中的控件(control)和容器(container)
    按钮、菜单、滚动条和框架都是窗口部件,窗口部件也可以包含其他窗口部件

      工程文件 .pro( 自动生成的 )

    #-------------------------------------------------
    #
    # Project created by QtCreator 2022-04-11T14:26:56
    #
    #-------------------------------------------------
    
    QT       += core gui   //QT 包含的模块: core  gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = HelloQt     //目标生成的.exe程序的名称
    TEMPLATE = app        //模板  应用程序模板 Application
    
    SOURCES += \           //源文件
            main.cpp \
            widget.cpp
    
    HEADERS += \            //头文件
            widget.h

      头文件.h

    #ifndef WIDGET_H
    #define WIDGET_H
    
    #include <QWidget>  //包含头文件QWiget窗口类
    
    class Widget : public QWidget //继承QWidget
    {
        Q_OBJECT  //Q_OBJECT宏,允许类中使用信号和槽的机制
    
    public:
        Widget(QWidget *parent = 0); //构造函数
        ~Widget();
    };
    
    #endif // WIDGET_H

       .cpp 文件

    #include "widget.h"
    #include <QLabel> //包含头文件QLabel
    
    Widget::Widget(QWidget *parent)
        : QWidget(parent)
    {   //创建一个QLabel
        QLabel *label = new QLabel("Hello Qt!"); 
        //让label对象 依赖widget窗口中
        label->setParent(this);
    }
    
    Widget::~Widget()
    {
    
    }

      main文件(入口 )

    #include "widget.h"
    #include <QApplication> //包含一个应用程序类的头文件
    
    //main程序入口, argc命令行变量的数量 argv命令行变量的数组
    int main(int argc, char *argv[])
    {    //a是应用程序的对象,在Qt中,应用程序对象,有且仅有一个
        QApplication a(argc, argv);
        //窗口对象,父类是QWiget
        Widget w;
        //窗口对象默认不会显示,必须要调用 show方法显示窗口
        w.show();
        //让应用程序对象进入消息循环
        //让代码阻塞到这行
        return a.exec();
    }

      二、建立连接

      Qt的窗口部件可以发射信号(signal),信号可以与函数 ( 在 这里称为槽,slot) 相连接,以便在发射信号时,槽可以得到自动执行

    #include "widget.h"
    #include <QLabel>
    #include <QPushButton>
    
    Widget::Widget(QWidget *parent)
        : QWidget(parent)
    {
        QLabel *label = new QLabel("Hello Qt!");
        label->setParent(this);
    QPushButton
    *button = new QPushButton("退出!"); button->setParent(this);
    button
    ->move(0,50); QObject::connect( button, &QPushButton::clicked , this, &Widget::close ); } Widget::~Widget() { }

      三、窗口部件的布局

      用布局(layout)来管理窗口部件的几何形状

  • 相关阅读:
    Lucene教程
    ElasticSearch安装
    MySQL事务
    Java泛型
    Python学习笔记(1)
    @keyframs实现图片gif效果
    glup简单应用---gulpfile.js
    巧用CSS3伪类选择器自定义checkbox和radio的样式
    get传中文参数乱码解决方法
    自定义样式 实现文件控件input[type='file']
  • 原文地址:https://www.cnblogs.com/GoldenEllipsis/p/16130283.html
Copyright © 2020-2023  润新知