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.hqwc.cn/news/90986.html

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

相关文章

错误:.terraform.d/plugins/darwin_amd64: no such file or directory

.terraform.d/plugins/darwin_amd64: no such file or directory init 会初始化安装一些东西。 再执行你的 terraformer import google --resourcescompute_instance,compute_disk,compute_network --regionsasia-east1 --projectsyour-project-id 这样就能执行了

微信小程序云开发-云存储文件ID转http

一、前言 云开发的云储存文件默认是以cloudID的形式读取的&#xff0c;但是这种读取方式只能在微信小程序或内嵌H5中使用。 所以如果需要在其他地方使用&#xff0c;例如浏览器或网站等其他端读取文件的时候&#xff0c;需要转换成普通的http链接。 目前官方提供有转换的接口…

chatGPT训练过程

强化学习基础 强化学习是指智能体在不确定环境中最大化其获得的奖励从而达到自主决策的目的。其执行过程为&#xff1a;智能体依据策略决策从而执行动作&#xff0c;然后感知环境获取环境的状态&#xff0c;进而得到奖励(以便下次再到相同状态时能采取更优的动作)&#xff0c;…

金融风控数据分析-信用评分卡建模

本文引用自&#xff1a; 金融风控&#xff1a;信用评分卡建模流程 - 知乎 (zhihu.com) 在原文的基础上加上了一部分自己的理解&#xff0c;转载在CSDN上作为保留记录。 本文涉及到的数据集可直接从天池上面下载&#xff1a; Give Me Some Credit给我一些荣誉_数据集-阿里云…

前端基础(Element、vxe-table组件库的使用)

前言&#xff1a;在前端项目中&#xff0c;实际上&#xff0c;会用到组件库里的很多组件&#xff0c;本博客主要介绍Element、vxe-table这两个组件如何使用。 目录 Element 引入element 使用组件的步骤 使用对话框的示例代码 效果展示 vxe-table 引入vxe-table 成果展…

Leetcode每日一题:1267. 统计参与通信的服务器

原题 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其…

iSCSI存储服务器

目录 一、ISCSI是什么&#xff1f; 二、ISCSI产生背景 三、存储分类 四、ISCSI架构 五、ISCSI存储服务搭建案例 一、ISCSI是什么&#xff1f; ISCSI名为互联网小型计算机系统接口又称为IP-SAN&#xff0c;是一种新的远程存储技术&#xff0c;提供存储服务的目标服务器默认使用的…

hadoop学习:mapreduce入门案例四:partitioner 和 combiner

先简单介绍一下partitioner 和 combiner Partitioner类 用于在Map端对key进行分区 默认使用的是HashPartitioner 获取key的哈希值使用key的哈希值对Reduce任务数求模决定每条记录应该送到哪个Reducer处理自定义Partitioner 继承抽象类Partitioner&#xff0c;重写getPartiti…

PSP - 蛋白质结构预测 OpenFold Multimer 模型训练参数与配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132575709 OpenFold Multimer 是用于预测蛋白质多聚体结构的计算方法。基于OpenFold 的单体预测框架&#xff0c;利用深度学习技术&#xff0c;结…

31 - 个人博客项目-02-定义模型

前提: settings.py已经连接数据库 两张表想要互相调用 必须定义主外键约束,外键定义在多的一方 (1). 新建 apps / user / models.py 创建用户相关模型类 from datetime import datetime from ext import dbclass User(db.Model):# 用户表id db.Column(db.Integer, primary…

在Ubuntu Linux系统上安装RabbitMQ服务并解决公网远程访问问题

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

使用Visual Studio 2022实现透明按钮和标签、POPUP样式窗体的一种工业系统的UI例程

例程实现的功能说明 1、主窗体采用POPUP样式&#xff0c;无标题栏、无菜单栏&#xff0c;适合工业类软件 2、按钮、标签使用自绘&#xff0c;实现透明样式&#xff0c;可以实现灵活的样式设计&#xff0c;更具设计感 按钮重绘函数&#xff1a;OnDrawItem()按钮样式设定&#…