qt设计界面

widget.h

#ifndef WIDGET_H
#define WIDGET_H                             //防止文件重复包含

#include <QWidget>                           //QWidget类所在的头文件,父类头文件
#include<QIcon>
#include<QPushButton>                        //按钮类头文件
#include<QDebug>                             //输出类头文件
#include<QLineEdit>                          //行编辑器头文件
#include<QLabel>                             //标签头文件

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }               //命名空间的声明
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT                                //信号与槽的元对象

public:
    Widget(QWidget *parent = nullptr);      //构造函数的声明,有一个默认参数的形参
    ~Widget();                              //析构函数的声明

private:
    Ui::Widget *ui;                         //后期可以通过ui指针找到ui界面上拖拽出来的组件
};
#endif // WIDGET_H

main.cpp

#include "widget.h"                               //图形化界面的头文件

#include <QApplication>                           //应用程序的头文件


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);                   //实例化一个应用程序的对象
    Widget w;                                     //在栈区实例化自定义类的对象
    w.show();                                     //调用show函数,展示图形化界面,该函数是父类提供的,直接用即可
    return a.exec();                              //为了阻塞界面不被关闭,等待相关事情的发生
                                                  //等待信号与槽,事件处理,等待用户操作

}                                                    

widget.cpp

#include "widget.h"                                                            //自己的头文件 
#include "ui_widget.h"                                                         //ui界面对应的头文件

Widget::Widget(QWidget *parent)                                                //构造函数的定义
    : QWidget(parent)                                                          //显性调用父类的构造函数完成子类从父类继承下来的成员的初始化工作
    , ui(new Ui::Widget)                                                       //对自己类的中的指针成员开辟空间
{
    ui->setupUi(this);                                                         //给拖拽出来的组件实例化空间

    this->setWindowTitle("鹏哥快聊");                                            //设置窗口标题

    this->setWindowIcon(QIcon("D:\\qt5.14\\c\\icon\\wodepeizhenshi.png"));     //设置窗口的图标icon
    this->resize(540,410);                                                     //设置窗口的大小
    this->setFixedSize(540,410);                                               //设置固定尺寸


    QLabel *lab1 = new QLabel(this);                                           //实例化一个标签1
    lab1->resize(540,180);                                                     //设置标签1的大小
    lab1->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\logo.png"));                 //设置标签1的图标icon
    lab1->setScaledContents(true);                                             //设置内容自适应
    QLabel *lab2 = new QLabel(this);                                           //实例化一个标签2
    lab2->resize(50,35);                                                       //设置标签2的大小
    lab2->move(100,210);                                                       //移动标签2的位置
    lab2->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\userName.jpg"));             //设置标签2的图标icon
    lab2->setScaledContents(true);                                             //设置内容自适应
    QLabel *lab3 = new QLabel(this);                                           //实例化一个标签3
    lab3->resize(50,35);                                                       //设置标签3的大小
    lab3->move(100,290);                                                       //移动标签3的位置
    lab3->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\passwd.jpg"));               //设置标签2的图标icon
    lab3->setScaledContents(true);                                             //设置内容自适应

    QLineEdit *edit = new QLineEdit("QQ号码/手机/邮箱",this);                    //实例化一个行编辑器1
    edit->move(200,210);                                                       //移动行编辑器1的位置
    edit->resize(200,35);                                                      //设置行编辑器1的大小
    QLineEdit *edit2 = new QLineEdit("密码",this);
    edit2->move(200,290);                                                      //移动行编辑器2的位置
    edit2->resize(200,35);                                                     //设置行编辑器2的大小
    edit2->setEchoMode(QLineEdit::Password);                                   //设置回显模式

    QPushButton *btn1 = new QPushButton("登录",this);                           //实例化按钮1
    btn1->resize(90,37);                                                       //设置按钮1的大小
    btn1->setIcon(QIcon("D:\\qt5.14\\c\\icon\\login.png"));                    //设置图标
    btn1->move(310,360);                                                       //移动按钮1的位置
    QPushButton *btn2 = new QPushButton("取消",this);
    btn2->resize(90,37);                                                       //设置按钮1的大小
    btn2->setIcon(QIcon("D:\\qt5.14\\c\\icon\\cancel.png"));                   //设置图标
    btn2->move(410,360);                                                       //移动按钮2的位置


}

Widget::~Widget()                                                              //析构函数的定义
{
    delete ui;                                                                 //释放ui指针的内存
}

结果

XMind

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

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

相关文章

ClickHouse 使用

CREATE DATABASE test on cluster ck_00_1repl; DROP TABLE local_t_ordt_order on cluster ck_00_1repl; 创建本地 local 表 CREATE TABLE test.local_order_db_t_order on cluster ck_00_1repl ( forder_id_hash String, forder_id String, fuid Int32, forder_type Int32…

Android 蓝牙开发( 二 )

前言 上一篇文章给大家分享了Android蓝牙的基础知识和基础用法&#xff0c;不过上一篇都是一些零散碎片化的程序&#xff0c;这一篇给大家分享Android蓝牙开发实战项目的初步使用 效果演示 : Android蓝牙搜索&#xff0c;配对&#xff0c;连接&#xff0c;通信 Android蓝牙实…

git-tf clone 路径有空格处理方案

git-tf clone 路径存在空格情况下&#xff0c;运行命令报错&#xff1b; 需要对路径进行双引号处理

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…

Redis——》Redis的部署方式对分布式锁的影响

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

Java“魂牵”京东商品详情描述数据,京东商品详情API接口,京东API接口申请指南

要通过京东的API获取商品详情描述数据&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取商品详情&#xff1a; 首先&#xff0c;确保您已注册成为京东开放平台的开发者&#xff0c;并创…

xxl-job的简单使用

模块介绍 一、以做过的项目一为例&#xff0c;模块分配如下&#xff1a; xxl-job-admin&#xff1a;任务管理后台模块 xxl-job-executor-paofu&#xff1a;任务代码执行模块 二、以做过的项目二为例&#xff0c;模块分配如下&#xff1a; 为什么要介绍一下模块的分配&#x…

【kubernetes】使用kubepshere部署中间件服务

KubeSphere部署中间件服务 入门使用KubeSphere部署单机版MySQL、Redis、RabbitMQ 记录一下搭建过程 (内容学习于尚硅谷云原生课程) 环境准备 VMware虚拟机k8s集群&#xff0c;一主两从&#xff0c;master也作为工作节点&#xff1b;KubeSphere k8skubesphere devops比较占用磁…

【Unity开发必备】100多个 Unity 学习网址 资源 收藏整理大全【持续更新】

Unity 相关网站整理大全 众所周知&#xff0c;工欲善其事必先利其器&#xff0c;有一个好的工具可以让我们事半功倍&#xff0c;有一个好用的网站更是如此&#xff01; 但是好用的网站真的太多了&#xff0c;收藏夹都满满的(但是几乎没打开用过&#x1f601;)。 所以本文是对…

NodeJs-Buffer(缓冲器)

目录 一、概念二、特点三、使用3.1 创建Buffer3.2 Buffer 与字符串的转化3.3 Buffer 的读写 一、概念 Buffer 是一个类似于数组的 对象 &#xff0c;用于表示固定长度的字节序列 Buffer 本质是一段内存空间&#xff0c;专门用来处理 二进制数据 。 二、特点 Buffer 大小固定且…

【Docker】01-Centos安装、简单使用

参考教程&#xff1a; https://www.bilibili.com/video/BV1Qa4y1t7YH/?p5&spm_id_frompageDriver&vd_source4964ba5015a16eb57d0ac13401b0fe77 什么是Docker&#xff1f; Docker是一种开源的容器化平台&#xff0c;用于构建、打包、部署和运行应用程序。它通过使用容…

flutter和原生利用pigeon建立通道

首先导入依赖&#xff1a; dependencies: pigeon: ^10.0.0定义一个文件&#xff1a; /// 用于定于flutter和平台的桥接方法 /// HostApi() 标记的&#xff0c;是用于 Flutter 调用原生的方法&#xff1b; /// FlutterApi() 标记的&#xff0c;是用于原生调用 Flutter 的方法&…

iPhone 15 Pro与iPhone 13 Pro:最大的预期升级

如果你在2021年首次发布iPhone 13 Pro时就抢到了它,那么你的合同很可能即将到期。虽然距离iPhone 15系列还有几周的时间,但你可能已经在想:是时候把你的旧iPhone升级为iPhone 15 Pro了吗? 我们认为iPhone 13 Pro是你现在能买到的最好的手机之一。但如果你想在2023年晚些时…

数据结构】二叉树篇|超清晰图解和详解:后序篇

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; 是瑶瑶子啦每日一言&#x1f33c;: 你不能要求一片海洋&#xff0c;没有风暴&#xff0c;那不是海洋&#xff0c;是泥塘——毕淑敏 目录 一、核心二、题目 一、核心 我们清楚…

STM32--RTC实时时钟

文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日&#xff08;UTC/GMT的午夜&#xff09;开始所经过的秒数&#xff0c;不考虑闰秒。 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64…

部署问题集合(二十二)Linux设置定时任务,并设置系统时间

前言 因为项目中经常用到定时任务&#xff0c;特此总结记录一下 步骤 大部分虚拟机创建后就自带定时服务&#xff0c;直接用命令就好编辑定时任务&#xff1a;crontab -e&#xff0c;在该文件下添加如下内容开机自启&#xff1a;reboot /home/autoRun.sh定时执行&#xff1a…

走进低代码平台| iVX-困境之中如何突破传统

前言&#xff1a; “工欲善其事,必先利其器”&#xff0c;找到和使用一个优质的工具平台&#xff0c;往往会事半功倍。 文章目录 1️⃣认识走近低代码2️⃣传统的低代码开发3️⃣无代码编辑平台一个代码生成式低代码产品iVX受面性广支持代码复用如何使用&#xff1f; 4️⃣总结…

极氪汽车的云资源治理细探

作者&#xff1a;极氪汽车吴超 前言 2021 年&#xff0c;极氪 001 迅速崭露头角&#xff0c;仅用 110 天便创下了首款车型交付量“最快破万”的纪录。2022 年 11 月&#xff0c;极氪 009 在短短 76 天内便率先完成了首批交付&#xff0c;刷新了中国豪华纯电品牌交付速度的纪录…

分布式集群——jdk配置与zookeeper环境搭建

系列文章目录 分布式集群——jdk配置与zookeeper环境搭建 分布式集群——搭建Hadoop环境以及相关的Hadoop介绍 文章目录 系列文章目录 前言 一 zookeeper介绍与环境配置 1.1 zookeeper的学习 1.2 Zookeeper的主要功能 1.2.1 znode的节点类型 1.2.2 zookeeper的实现 …

SQL Server 2019导入txt数据

1、选择导入数据 2、选择Flat file Source 选择文件&#xff0c;如果第一行不是列名&#xff0c;就不勾选。 3、下一步 可以看看数据是否是对的 4、下一步 选择SQL server Native Client 11&#xff0c;数据库选择导入进的库 输入连接数据库的名字和要导入的数据库 下一…