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_NAMESPACEclass 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"));     //设置窗口的图标iconthis->resize(540,410);                                                     //设置窗口的大小this->setFixedSize(540,410);                                               //设置固定尺寸QLabel *lab1 = new QLabel(this);                                           //实例化一个标签1lab1->resize(540,180);                                                     //设置标签1的大小lab1->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\logo.png"));                 //设置标签1的图标iconlab1->setScaledContents(true);                                             //设置内容自适应QLabel *lab2 = new QLabel(this);                                           //实例化一个标签2lab2->resize(50,35);                                                       //设置标签2的大小lab2->move(100,210);                                                       //移动标签2的位置lab2->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\userName.jpg"));             //设置标签2的图标iconlab2->setScaledContents(true);                                             //设置内容自适应QLabel *lab3 = new QLabel(this);                                           //实例化一个标签3lab3->resize(50,35);                                                       //设置标签3的大小lab3->move(100,290);                                                       //移动标签3的位置lab3->setPixmap(QPixmap("D:\\qt5.14\\c\\icon\\passwd.jpg"));               //设置标签2的图标iconlab3->setScaledContents(true);                                             //设置内容自适应QLineEdit *edit = new QLineEdit("QQ号码/手机/邮箱",this);                    //实例化一个行编辑器1edit->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);                           //实例化按钮1btn1->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

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

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

相关文章

VS的调试技巧

Visual Studiohttps://visualstudio.microsoft.com/zh-hans/vs/ 目录 1、什么是调试&#xff1f; 2、debug和release 3、调试 3.1、环境 3.2、 快捷键 3.2.1、F10和F11 3.2.2、ctrlF5 3.2.3、F5与F9 3.2.3.1、条件断点 3.3、监视和内存观察 3.3.1、监视 3.3.2、内存 …

[集创赛海云捷讯杯]全国二等奖经验分享

[集创赛海云捷讯杯]全国二等奖经验分享 一.前言二.我们的作品三.小结 一.前言 笔者是研一在校生&#xff0c;从五月份开始和本科生一起卷集创赛&#xff0c;经历初赛&#xff0c;分赛区决赛&#xff0c;全国总决赛&#xff0c;认识了很多一起做比赛的朋友收获颇丰。今年海云杯…

java反射机制并实现任意对象转JSON格式

目录 java反射机制 获取构造方法 获取属性 获取成员方法 使用反射机制将对象转为JSON形式 java反射机制 在运行状态中&#xff0c;任意一个类&#xff0c;都可以知道它的任意属性和方法&#xff0c;任意一个对象&#xff0c;都可以调用它的任意一个方法和属性。 获取反射…

RabbitMQ工作模式-发布订阅模式

Publish/Subscribe&#xff08;发布订阅模式&#xff09; 官方文档&#xff1a; https://www.rabbitmq.com/tutorials/tutorial-three-python.html 使用fanout类型类型的交换器&#xff0c;routingKey忽略。每个消费者定义生成一个队列关绑定到同一个Exchange&#xff0c;每个…

性能测试jmeter连接数据库jdbc(sql server举例)

一、下载第三方工具包驱动数据库 1. 因为JMeter本身没有提供链接数据库的功能&#xff0c;所以我们需要借助第三方的工具包来实现。 &#xff08;有这个jar包之后&#xff0c;jmeter可以发起jdbc请求&#xff0c;没有这个jar包&#xff0c;也有jdbc取样器&#xff0c;但不能发…

音视频 fmpeg命令裁剪和合并视频

一、生成测试文件 找三个不同的视频每个视频截取10秒内容 ffmpeg -i 沙海02.mp4 -ss 00:05:00 -t 10 -codec copy 1.mp4 ffmpeg -i 复仇者联盟3.mp4 -ss 00:05:00 -t 10 -codec copy 2.mp4 ffmpeg -i 红海行动.mp4 -ss 00:05:00 -t 10 -codec copy 3.mp4如果音视频格式不统一…

如果只发布terraform的部分功能,我们该怎么发布

如果你想在一个较大的 Terraform 配置中只发布其中的一部分功能&#xff0c;你可以考虑以下几种方法来实现&#xff1a; 使用 Workspaces&#xff1a; Terraform Workspaces 是一种将同一个配置文件拆分为多个环境的方式。你可以为不同的功能创建不同的 Workspace&#xff0c;然…

外观模式:简化复杂子系统的访问与使用

文章目录 1. 简介2. 外观模式的基本结构3. 外观模式的实现步骤4. 外观模式的应用与实例4.1 图形界面库的外观模式应用4.2 文件压缩与解压缩的外观模式应用4.3 订单处理系统的外观模式应用 5. 外观模式的优缺点5.1 优点5.2 缺点 6. 总结 1. 简介 外观模式是一种结构型设计模式&…

CentOS 7 上安装 Oracle 11g 数据库

本博客将向您介绍在 CentOS 7 操作系统上安装 Oracle 11g 数据库的步骤&#xff0c;以及在 Oracle 数据库中创建表空间和用户的脚本。 1. 安装必要的软件和依赖 首先&#xff0c;我们需要安装一些必要的软件和依赖项。在终端中执行以下命令&#xff1a; yum -y install xorg…

Linux服务器安装部署MongoDB数据库 – 【无公网IP远程连接】

文章目录 前言1.配置Mongodb源2.安装MongoDB数据库3.局域网连接测试4.安装cpolar内网穿透5.配置公网访问地址6.公网远程连接7.固定连接公网地址8.使用固定公网地址连接 前言 MongoDB是一个基于分布式文件存储的数据库。由 C 语言编写&#xff0c;旨在为 WEB 应用提供可扩展的高…

什么是OLAP

一、什么是OLAP OLAP&#xff08;On-line Analytical Processing&#xff0c;联机分析处理&#xff09;是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP&#xff08;On-line Transaction Processing&#xff0c;联机事务处理&…

Redisson分布式锁 原理源码 分析

# 基于setnx实现的分布式锁存在的问题&#xff1a; # 为了解决上面的问题&#xff0c;可以用Redisson # Redisson入门 # Redisson可重入锁原理 获取锁的Lua脚本&#xff1a; 释放锁的Lua脚本&#xff1a; # 锁重试原理分析 tryLock&#xff08;&#xff09;底层代码分析 tim…

什么是自动语音识别?

在人工智能发展和全球疫情的双重作用下&#xff0c;企业加强了与客户的线上沟通。企业越发依赖于虚拟助手、聊天机器人以及其他的语音技术&#xff0c;以实现与客户的高效互动。这几类人工智能&#xff0c;都是依赖于自动语音识别技术&#xff0c;简称为ASR。ASR涉及到将语音转…

Gson与FastJson详解

Gson与FastJson详解 Java与JSON 做什么? 将Java中的对象 快速的转换为 JSON格式的字符串. 将JSON格式的字符串, 转换为Java的对象. Gson 将对象转换为JSON字符串 转换JSON字符串的步骤: 引入JAR包 在需要转换JSON字符串的位置编写如下代码即可: String json new Gs…

python安装playwright问题记录

python安装playwright这个时候,有得时候会https timeout 有的时候会 not found。 我最后使用的方法三&#xff0c;挺好用的。 PyPI The Python Package Index 可以尝试使用的方法 1. 更换pip源&#xff1a;使用国内的pip源可以提高下载速度并减少超时问题。例如&#xff0c…

【PHP】PHP的面向对象编程

PHP面向对象编程是PHP编程的一个重要方向&#xff0c;它通过将数据和操作封装在对象中&#xff0c;使得代码更加模块化、可重用性和易于维护。本文将介绍PHP面向对象编程的基本概念、核心思想和常见应用&#xff0c;并探讨使用PHP面向对象编程时需要注意的问题。 一、概述 PH…

LLM推理部署(一):LLM七种推理服务框架总结

自从ChatGPT发布以来&#xff0c;国内外的开源大模型如雨后春笋般成长&#xff0c;但是对于很多企业和个人从头训练预训练模型不太现实&#xff0c;即使微调开源大模型也捉襟见肘&#xff0c;那么直接部署这些开源大模型服务于企业业务将会有很大的前景&#xff0c;本文将介绍七…

Effective C++条款16——成对使用new和delete时要采取相同形式(资源管理)

以下动作有什么错? std::string* stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序。使用了new&#xff0c;也搭配了对应的 delete。但还是有某样东西完全错误:你的程序行为不明确&#xff08;未有定义&#xff09;。最低限度&#xff…

PHP竞赛管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 竞赛管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 下载地址 https://download.csdn.net/download/qq_41221322/88244066 二、功能介绍 后…

Spring Boot Dubbo Zookeeper(含ZK安装脚本)

文章目录 Spring Boot Dubbo Zookeeper&#xff08;含ZK安装脚本&#xff09;简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper&#xff08;含ZK安装脚本&#xff09; 简介 Dubbo Common 公共依赖 <!-- Spring Boot Starter --> <dependen…