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

2024-05-09 12:20
文章标签 类库 c++ qt 001 使用

本文主要是介绍【C++】-【QT】类库使用-001,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1主窗口创建

1.1【makefile】配置

1 源码

QT += widgetsSOURCES += 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程序执行结果

在这里插入图片描述

这篇关于【C++】-【QT】类库使用-001的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973398

相关文章

[SCF+wetest+jmeter]云性能压测工具使用方案

前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/product/scf https://cloud.tencent.com/product/lm 云压测背景 常规压测工具,所有请求均从本地出发,走局域网可能导致网络请求的实际效果不够真实

IDEA中使用maven配置mybatis-------mybatis(一)

IDEA下通过maven配置mybatis 创建maven项目,路径为:file–setting-maven–maven-archetye-webapp; 创建mybatis目录,按箭头所示依次点击,创建一个mybatis的文件编写目录 修改pom.xml配置文件,刚开始可能红框中的字体为红色,等待maven自动下载完成之后即可 mysql客户端配置 添加log4j <

vue3.0 v-model 的使用

前言 组件功能:把 el-switch 的值 false/true, 动态绑定输出为 0, 1 组件代码 封装el-switch组件,当el-switch的值为false,输出值为0;当el-switch的值为true,输出值为1; <template><el-switch v-model="switchValue" @change="changeEvent"></el-switch

C++转换

#include <iostream> #include <stdlib.h> using namespace std; int main(void){     cout << "请输入一个整数:" << endl;     int x = 0;     cin >> x;     cout <<"  八进制:"<< oct << x << endl;

sublime text ctags使用心得

ctags文件需要另行下载,然后添加到Windows的Path路径下面。 ctags -R -f .tags生成  .tags文件,然后在sublime下就可以用ctrl+t ctrl+t来跳转,用ctrl+t ctrl+b来返回到原来位置 使用ctrl+t、ctrl+r 两个连续组合键,创建.tags工程符号索引文件(此时Sublime Text 2会自动调用第一步安装的ctag

vimperator的使用

Vimium 其实是一款 Chrome 浏览器中的插件,而 Vimperator 则是 FireFox 火狐浏览器的插件     j:向下细微滚动窗口   k:向上细微滚动窗口          ctrl+d:向下滚动半个屏幕   ctrl+u:向上移动半个屏幕     g+g(连续按两下g):回到顶部     G:到达页面底部     H:后退   L: 前进

使用frp把内网http服务映射到外部网络

使用的软件为frp,地址为: https://github.com/fatedier/frp A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. 一个快速的反向代理,可以帮助你暴露在NAT或防火墙后面的内网本地的服务器给互联网。 Windows7  本

1、swift学习-字典的基本使用

1、创建一个字典          var dic:Dictionary<String,String> = ["三国演艺":"罗贯中","水浒传":"施耐庵","红楼梦":"曹雪芹","西游记":"吴承恩"]; 2、打印字典的值     println(dic);     结果如下图:      3、访问字典中某一个键值     var

Swift5 导航栏的使用 2022年11月更新

Swift 导航栏的使用 一、基本使用 1.1 创建导航栏 在AppDelegate 如下方法中添加创建导航栏的代码: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> B

Swift5 Tabbar的使用

Swift Tabbar的使用 一、基本使用 1.1 创建Tabbar import UIKitclass RootTabbar: UITabBarController {override func viewDidLoad() {super.viewDidLoad()let nav1 = UINavigationController(rootViewController: ControlMa