【C++】-【QT】类库使用-001

1主窗口创建

1.1【makefile】配置

1 源码

QT += widgets

SOURCES += main.cpp

2 图示
在这里插入图片描述

1.2源码

1 源码

#include <QWidget>
#include <QApplication>

using namespace std;

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    QWidget w;
    w.show();

    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

1.3程序执行结果

在这里插入图片描述

2添加控件1

2.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget()
    {
        btn1.show();
    }

private:
    QPushButton btn1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();


    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

2.2程序执行结果

主窗口+按钮

在这里插入图片描述

3建立父子关系1

建立主窗口与控件1的父子关系

3.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1(this)
    {

    }

private:
    QPushButton btn1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();


    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

3.2程序执行结果

控件1与主窗口建立关系
在这里插入图片描述

4移动控件1

4.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1(this)
    {
        btn1.move(100,300);
    }

private:
    QPushButton btn1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();


    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

4.2程序执行结果

在这里插入图片描述

5控件1添加文本

5.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1("hello",this)
    {
        btn1.move(100,300);
        
        this->resize(300,400);//设置主窗口大小
    }

private:
    QPushButton btn1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();

    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

5.2程序执行结果

在这里插入图片描述

6添加控件2

6.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
    {
        btn1->move(100,300);
        lineEdit1->move(200,300);

        this->resize(300,400);//设置主窗口大小
    }

private:
    QPushButton *btn1;
    QLineEdit *lineEdit1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();

    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

6.2程序执行结果

在这里插入图片描述

7布局管理器

7.1源码

1 源码

#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
#include <QHBoxLayout>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
    {
        /* 1.1 创建水平布局管理器*/
        QHBoxLayout *hlayout1=new QHBoxLayout;
        /* 1.2 利用水平布局管理器管理窗口控件*/
        hlayout1->addWidget(btn1);
        hlayout1->addWidget(lineEdit1);

        /*创建垂直布局管理器*/
        QVBoxLayout *vlayout=new QVBoxLayout;
        /*利用垂直布局管理器管理窗口控件*/
        vlayout->addLayout(hlayout1);

        /* 1.3 设置布局管理器*/
        this->setLayout(vlayout);

        this->resize(300,400);//设置主窗口大小
    }

private:
    QPushButton *btn1;
    QLineEdit *lineEdit1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();

    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

源码封装

在这里插入图片描述

#include <QWidget>
#include <QApplication>
#include <QPushButton>
#include <QLineEdit>
#include <QHBoxLayout>

using namespace std;

class MyWidget : public QWidget
{
public:
    MyWidget():btn1(new QPushButton("hello",this)),lineEdit1(new QLineEdit(this))
    {
        setupUi();
    }

    void setupUi()
    {
        /* 1.1 创建水平布局管理器*/
        QHBoxLayout *hlayout1=new QHBoxLayout;
        /* 1.2 利用水平布局管理器管理窗口控件*/
        hlayout1->addWidget(btn1);
        hlayout1->addWidget(lineEdit1);

        /*创建垂直布局管理器*/
        QVBoxLayout *vlayout=new QVBoxLayout;
        /*利用垂直布局管理器管理窗口控件*/
        vlayout->addLayout(hlayout1);

        /* 1.3 设置布局管理器*/
        this->setLayout(vlayout);

        this->resize(300,400);//设置主窗口大小
    }

private:
    QPushButton *btn1;
    QLineEdit *lineEdit1;
};

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    MyWidget w;
    w.show();

    return a.exec();
}
/* 1 【QApplication】类:
 *      (1)含义: Qt应用程序类
 *      (2)作用: 提供了管理应用程序的框架、事件循环和系统级配置的基础
 *      (3)成员函数-处理应用程序全局事件:
 *          1)【exec();】: 启动一个基础的应用程序框架,用于管理应用程序生命周期和其与用户交互的方式。
 *          2)【quit();】: 退出应用程序。
 * 2 【QWidget】类:
 *      (1)含义: 基础窗口组件类,是窗口类的基类。
 *      (2)作用: 创建界面
 *      (3)继承关系:
 *          1)父类:【QObject】+【QPaintDevice】
 *          2)子类:【QMainWindow】【QDialog】
 *      (4)成员函数-:
 *          1)【show();】: 显示窗口对象。
 */

2 图示
在这里插入图片描述

7.2程序执行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/606453.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

应聘项目经理,软考证书会是一个加分项吗?

加分项是必需的&#xff0c;特别是IT行业的项目经理职位。您可以在各大招聘网站上搜索项目经理职位&#xff0c;前景好、薪资高、待遇好的项目经理岗位&#xff0c;基本上都有证书的要求。非IT行业项目经理&#xff0c;可以考虑PMP证书或者其他与专业相关的证书&#xff0c;比如…

Android 高版本实现沉浸式状态栏

目前实现的android高版本沉浸式状态栏分为两类&#xff1a; 1、是纯透明状态栏&#xff1b; 2、是纯透明状态栏&#xff0c;但是状态栏字体是黑色&#xff1b; 将状态栏的代码封装到BaseActivity中更方便使用&#xff1a; BaseActivity: public abstract class BaseActivit…

大模型微调实战之强化学习 贝尔曼方程及价值函数(一)

大模型微调实战之强化学习 贝尔曼方程及价值函数 强化学习&#xff08;RL&#xff09;是机器学习中一个话题&#xff0c;不仅在人工智能方面。它解决问题的方式与人类类似&#xff0c;我们每天都在学习并在生活中变得更好。 作为一名大模型学习者&#xff0c;当开始深入研究强…

校验--ECC详细分析

ECC介绍 ECC 以下是针对瑞萨MCU的应用的ECC检测的详细分析。 当前公认安全有效的三大类公钥密钥体制分别为基于大数因子分解难题(RSA)、离散对数难题(DSA)和椭圆曲线离散对数&#xff08;ECC&#xff09;难题的密码体制。 保证RSA的安全性&#xff0c;则必须要增加密钥长度…

【最优传输二十九】Wasserstein Barycenterand Its Application to Texture Mixing

motivation 本文提出了离散概率分布的平均作为Monge-Kantorovich最优传输空间重心的新定义。为了克服数值求解这类问题所涉及的时间复杂性&#xff0c;原始的Wasserstein度量被一维分布上的切片近似所取代。这使我们能够引入一种新的快速梯度下降算法来计算点云的Wasserstein质…

Cesium 问题:billboard 加载未出来

文章目录 问题分析问题 接上篇 Cesium 展示——图标的依比例和不依比例缩放,使用加载 billboard 时,怀疑是路径的原因导致未加载成功 分析 原先

初步了解Kubernetes

目录 1. K8S概述 1.1 K8S是什么 1.2 作用 1.3 由来 1.4 含义 1.5 相关网站 2. 为什么要用K8S 3. K8S解决的问题 4. K8S的特性 5. Kubernetes集群架构与组件 6. 核心组件 6.1 Master组件 6.1.1 Kube-apiserver 6.1.2 Kube-controller-manager 6.1.3 kube-schedul…

算法学习008-登山爬石梯 c++动态规划/递归算法实现 中小学算法思维学习 信奥算法解析

目录 C登山爬石梯 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C登山爬石梯 一、题目要求 1、编程实现 小明周末和朋友约好了一起去爬山&#xff0c;来到山下&#xff0c;发现登山道是…

【问题实操】银河高级服务器操作系统实例分享,开机之后反复重启

1.服务器环境以及配置 物理机/虚拟机/云/容器 物理机 外网/私有网络/无网络 私有网络 处理器&#xff1a; PHYTIUM FT2000PLUS 2200 MHz 内存&#xff1a; 128 GiB 整机类型/架构&#xff1a; HIKVISION DS-V BIOS版本&#xff1a; HK 601FBE02HK 网卡&#xff1…

VTK数据的读写--Vtk学习记录1--《VTK图形图像开发进阶》

读和写操作是VTK可视化管线两端相关的类--Reader和Writer类 Reader:将外部数据读入可视化管线&#xff0c;主要步骤如下 s1:实例化Reader对象 s2:指定所要读取的文件名 s3:调用Update()促使管线执行 对应的Writer: s1:实例化Writer对象 s2输入要写的数据以及指定写入的文…

实习报告怎么写?笔灵AI实习体验报告模版分享:AI产品前端实习生

实习报告怎么写&#xff1f;笔灵AI实习体验报告模版可以帮你 点击即可使用&#xff1a;https://ibiling.cn/scene/inex?fromcsdnsx 下面分享AI产品前端实习生的实习报告 尊敬的导师和领导们&#xff1a;首先&#xff0c;我想对你们表达我的诚挚感谢&#xff0c;感谢你们给我…

暗区突围国际服pc端海外版如何快速致富 暗区突围pc端怎么赚钱

暗区突围是一款由腾讯魔方工作室研发的高拟真硬核射击手游&#xff0c;以现代战争为游戏题材&#xff0c;采用了全新的u3d引擎打造&#xff0c;整体游戏画风逼真写实&#xff0c;搭配上优秀的射击玩法&#xff0c;辅以史诗级的背景配乐&#xff0c;致力于带给玩家无与伦比的枪战…

“漫画之家”|基于Springboot+vue的“漫画之家”系统(源码+数据库+文档)

“漫画之家”系统 目录 基于Springbootvue的“漫画之家”系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台模块 5.2.1管理员功能模块 5.2.2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&a…

linux代码实操——信号的使用

信号的基本概念 信号是系统响应某个条件而产生的事件&#xff0c;进程接收到信号会执行相应的操作。 与信号有关的系统调用在“signal.h”头文件中有声明 常见信号的值&#xff0c;及对应的功能说明&#xff1a; 修改信号的响应方式 – signal() 我们来做个小实验: 在键盘上…

容联云孔淼:大模型落地与全域营销中台建设

近日&#xff0c;由金科创新社主办的2024区域性商业银行数智化转型研讨会顺利召开&#xff0c; 容联云产业数字云事业群副总经理、诸葛智能创始人孔淼受邀出席&#xff0c;并分享数智化转型实践经验。 他分享了容联云两大核心产品&#xff0c;“大模型应用容犀Copilot”在金融营…

OpenCV Radon变换探测直线(拉东变换)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Radon变换可以将原始图像中直线特征的处理问题转化为变换域图像中对应点特征的处理问题,其中对应特征点的横坐标表示原始图像的旋转角度,一般来讲原始图像中的噪声不会分布在直线的特征上。因此,Radon变换在探测…

互联网洗鞋工厂实现新时代下的家庭洗护服务;

互联网洗鞋工厂实现新时代下的家庭洗护服务; 拽牛科技洗护系统以智慧城市系统为依托&#xff0c;洗鞋工厂为中心&#xff0c;利用互联网&#xff0b;社区服务商模式&#xff0c;实现了新时代下的家庭洗护服务&#xff0c; 将客户&#xfe63;&#xfe63;社区服务商&#xfe63…

笔灵AI实习体验报告模版:新媒体运营实习生

笔灵AI实习体验报告模版&#xff0c;可以自己输入岗位&#xff0c;有需要的可以试试https://ibiling.cn/scene/inex?fromcsdnsx 免费分享【新媒体运营实习生】的实习体验报告 尊敬的导师和领导们&#xff1a;首先&#xff0c;我想对给予我这次宝贵实习机会的公司表示衷心的感…

5月数学进度应该到哪里?听说24更难了,进度要加快吗?

刷一本习题册够吗&#xff1f;刷哪本&#xff1f;什么时候刷&#xff1f; 确实&#xff0c;24考完&#xff0c;大家都发现&#xff0c;没有一本习题册&#xff0c;覆盖了考试的所有知识点。 主流的模拟卷&#xff0c;都没有达到24卷的难度。 如何才能在最短的时间内&#xff…

SpringCloud Config 分布式配置中心

SpringCloud Config 分布式配置中心 概述分布式系统面临的——配置问题ConfigServer的作用 Config服务端配置Config客户端配置 可以有一个非常轻量级的集中式管理来协调这些服务 概述 分布式系统面临的——配置问题 微服务意味着要将单体应用中的业务拆分成一个个字服务&…