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

news2024/11/25 6:46:27

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程序执行结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AlphaFold 3:开启生物医药新革命

AlphaFold 3简介 DeepMind与Isomorphic Labs联合发布了AlphaFold 3&#xff0c;这是一个可以更准确预测蛋白质和其他生物分子结构及其相互作用的AI模型&#xff0c;标志着生物医学研究的新革命 AlphaFold 3&#xff0c;这款由DeepMind与Isomorphic Lab联手推出的最新人工智能…

深度解读《深度探索C++对象模型》之虚继承的实现分析和效率评测(一)

目录 前言 具有虚基类的对象的构造过程 通过子类的对象存取虚基类成员的实现分析 接下来我将持续更新“深度解读《深度探索C对象模型》”系列&#xff0c;敬请期待&#xff0c;欢迎左下角点击关注&#xff01;也可以关注公众号&#xff1a;iShare爱分享&#xff0c;或文章末…

鸿蒙开发:【从TypeScript到ArkTS的适配规则】

从TypeScript到ArkTS的适配规则 ArkTS通过规范约束了TypeScript&#xff08;简称TS&#xff09;中过于灵活而影响开发正确性或者给运行时带来不必要额外开销的特性。本文罗列了所有在ArkTS中限制的TS特性&#xff0c;并提供了重构代码的建议。ArkTS保留了TS大部分的语法特性&a…

机器学习入门:使用Scikit-learn进行实践

机器学习入门&#xff1a;使用Scikit-learn进行实践 机器学习是人工智能的一个重要分支&#xff0c;它使计算机具备了从数据中学习和改进性能的能力&#xff0c;而不需要明确的编程。在这个教程中&#xff0c;我们将介绍如何使用Python中的Scikit-learn库进行机器学习任务。 …

使用Gin编写Web API项目并自动化文档

最近需要使用Go写一个Web API项目&#xff0c;可以使用Beego与Gin来写此类项目&#xff0c;前文使用Beego创建API项目并自动化文档介绍了使用Beego来创建的Web API项目并自动化文档的方法。本文就介绍一下使用Gin来编写Web API项目并自动化文档。 一、创建项目 在创建Beego项…

水库大坝安全监测预警系统解决方案介绍

一、方案背景 随着社会的快速发展&#xff0c;水库大坝作为重要的水利工程设施&#xff0c;承载着防洪、灌溉、发电等多重功能。然而水库大坝的安全问题也日益凸显&#xff0c;一旦发生事故&#xff0c;后果将不堪设想&#xff0c;因此&#xff0c;建立一套高效、准确的水库大…

打印机 ansible配置dhcp和打印机

部署dhcp服务器 主机发送Discover报文 目标为广播地址 同一网段的dhcp收到报文后&#xff0c;dhcp响应一个offer报文 offer报文&#xff1a;dhcp自己的ip地址。和客户端ip以及使用周期&#xff0c;和客户端ip网络参数 最后主机单独发一个request报文 给那个选择的dhcp服务器 &…

电器跌倒检测可以使用什么元器件

电器跌倒检测是智能家居安全的重要组成部分。在智能化发展的今天&#xff0c;倾倒开关成为了电器跌倒检测的核心元器件之一。这种小巧的装置能够及时感知设备的倾倒情况&#xff0c;并启动断电保护功能&#xff0c;从而有效避免可能的危险情况。 倾倒开关具有体积小、安装简易…

智能合约如何开源-全网最详细的文档了没有之一.....

1、首先切换到BSC主网选择登录 登录地址&#xff1a;https://bscscan.com/ 2、进入个人中心创建key 3、进入remix-激活插件 网站&#xff1a;https://remix.ethereum.org/ 4、填写刚刚bsc上申请的key 5、回到remix上进行合约认证 前提&#xff1a;合约源码要和部署的是一致的…

DigitalOcean 应用托管更新:应用端到端运行时性能大幅改进

DigitalOcean 希望可以为企业提供所需的工具和基础设施&#xff0c;以帮助企业客户加速云端的开发&#xff0c;实现业务的指数级增长。为此 DigitalOcean 在 2020 年就推出了App Platform。 App Platform&#xff08;应用托管&#xff09; 是一个完全托管的 PaaS 解决方案&…

vue3点击添加小狗图片,vue3拆分脚本

我悄悄蒙上你的眼睛 模板和样式 <template><div class"XueXi_Hooks"><img v-for"(dog, index) in dog1List" :src"dog" :key"index" /><button click"addDog1">点我添加狗1</button><hr …

远程监控供水设备运行状态

随着城市化进程的加快&#xff0c;供水设备的安全稳定运行对于保障居民日常生活和工业生产至关重要。然而&#xff0c;传统的供水设备管理方式往往受限于人力、物力和时间的限制&#xff0c;难以实现对供水设备运行状态的全面监控和实时管理。在这一背景下&#xff0c;HiWoo Cl…

杨校老师项目之基于大数据技术栈hadoop商业web应用的日志分析系统

获取全套资料&#xff1a; 有偿获取&#xff1a;mryang511688 摘要&#xff1a; 互联网世界的先驱者们一致认为大数据将是未来互联网产业&#xff0c;甚至是整个人类各个产业的基础资源&#xff0c;那么到底什么是大数据&#xff0c;大数据给我们的世界是如何带来变化的呢&am…

Python中进程类Process的方法与属性的使用示例

一、示例代码&#xff1a; from multiprocessing import Process import time import osdef child_1(interval):print(子进程&#xff08;%s&#xff09;开始执行&#xff0c;父进程为&#xff08;%s&#xff09; % (os.getpid(), os.getppid()))t_start time.time()time.sle…

Web 安全 PHP 代码审查之常规漏洞

前言 工欲善其事&#xff0c;必先利其器。我们做代码审计之前选好工具也是十分必要的。下面我给大家介绍两款代码审计中比较好用的工具。 一、审计工具介绍 PHP 代码审计系统— RIPS 功能介绍 RIPS 是一款基于 PHP 开发的针对 PHP 代码安全审计的软件。 另外&#xff0c;…

掌握JavaScript,轻松实现自动化测试!

随着软件开发的不断发展&#xff0c;自动化测试在保证软件质量和提高开发效率方面扮演着越来越重要的角色。而在自动化测试过程中&#xff0c;JavaScript作为一种强大的脚本语言&#xff0c;为我们提供了丰富的工具和功能。本文将介绍在自动化测试中&#xff0c;掌握JavaScript…

一致性的艺术:深度剖析Paxos在分布式事务模型中的精妙设计

关注微信公众号 “程序员小胖” 每日技术干货&#xff0c;第一时间送达&#xff01; 引言 在数字化浪潮的推动下&#xff0c;分布式系统已经成为现代IT架构的基石。它们支撑着我们日常使用的在线服务&#xff0c;从电商购物到金融交易&#xff0c;从社交网络到云计算平台。然…

rmallox勒索病毒肆虐,如何保护网络安全?

rmallox勒索病毒与网络安全的关系可以从以下几个方面来阐述&#xff1a; 一、rmallox勒索病毒的特性 rmallox勒索病毒是一种极具破坏性的计算机病毒&#xff0c;它具有多个显著特性&#xff0c;这些特性使得该病毒对网络安全构成了严重威胁。具体来说&#xff0c;rmallox病毒具…

制造业如何挖掘数据价值,附数据分析处理软件推荐

制造业如何挖掘和利用数据价值&#xff1f; 在信息化、智能化高速发展的今天&#xff0c;制造业正迎来一场由数据驱动的深刻变革。数据&#xff0c;作为这场变革的核心驱动力&#xff0c;正被制造业企业深度挖掘和利用&#xff0c;以实现更高效、更智能的生产模式。 制造业在利…

基于Springboot的实习生管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的实习生管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&a…