qt设计界面

news2024/11/23 19:10:37

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

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

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

相关文章

Facebook Shops免费面世 Facebook与Instagram携手并肩

图片来源&#xff1a;SaleSmartly官网 近年来网上购物剧增&#xff0c;电子商务越趋重要&#xff0c;Facebook 和Instragram乘势推出Facebook Shops&#xff0c;免费让零售商户在全球最多使用者的两个社交平台创建线上商户&#xff0c;展示产品和进行交易&#xff0c;助零售业走…

DataTable扩展 列转行方法(2*2矩阵转换)

源数据 如图所示 // <summary>/// DataTable扩展 列转行方法&#xff08;2*2矩阵转换&#xff09;/// </summary>/// <param name"dtSource">数据源</param>/// <param name"columnFilter">逗号分隔 如SDateTime,PM25,PM10…

SmokePing网络延迟和丢包监测工具

SmokePing是一种网络延迟和丢包监测工具&#xff0c;其监控原理如下&#xff1a; 监测目标选择&#xff1a;SmokePing通过配置文件&#xff08;Targets&#xff09;定义了要监测的目标&#xff0c;可以是主机、路由器、服务器或其他网络设备。每个目标都有一个唯一的名称和IP地…

9个实用的交互设计软件,Get更简单的原型制作方式!

好用的原型图软件不仅可以快速可视化产品经理的想法&#xff0c;提高沟通效率&#xff0c;还可以加快测试进度&#xff0c;打造更真实的用户体验。今天本文为大家整理了9个好用的原型图工具&#xff0c;一起来看看吧&#xff01; 1、即时设计 在设计场景中&#xff0c;即时设…

基于MyBatis注解的学生管理程序--mybatis注解开发的练手项目

基于MyBatis注解的学生管理程序 需求&#xff1a;完成基于MyBatis注解的学生管理程序&#xff0c;能够用MyBatis注解实现查询操作、实现修改操作、实现一对多查询 &#xff08;1&#xff09;MyBatis注解开发实现查询操作。根据表1和表2在数据库分别创建一个学生表tb_student和…

【CicadaPlayer】getPlayerBufferDuration分析

https://github.com/alibaba/CicadaPlayer/blob/release/0.4.4/mediaPlayer/SuperMediaPlayer.cpp核心关键函数int64_t SuperMediaPlayer::getPlayerBufferDuration(bool gotMax, bool internal)17个地方出现: getPlayerBufferDuration的durations 数组 分别 对音频、视频、字…

登录页面设计的7个小细节,帮你提升用户体验

移动 APP 登录页面的设计直接影响到用户体验&#xff0c;从而决定 APP 的成败。我们应该设计出令用户兴奋而不是沮丧的登录界面。下面就让我和你分享几个提升登录页面 UX 设计的技巧: 如果用户必须登录才能使用服务&#xff0c;那么需要仔细考虑登录表单。 在构建登录页面设计…

简单数学题:找出最大的可达成数字

来看一道简单的数学题&#xff1a;力扣2769. 找出最大的可达成数字 题目描述的花里胡哨&#xff0c;天花乱坠&#xff0c;但这道题目非常简单。我们最多执行t次操作&#xff0c;只需每次操作都让x-1&#xff0c;让num1&#xff0c;执行t次操作后&#xff0c;x就变为xt&#xff…

YAML基本介绍和使用语法

YAML详解及使用方法 一、基本介绍二、数据类型2.1 纯量(scalars)/标量2.1.1 字符串2.1.2 保留换行(Newlines preserved)2.1.3 布尔值&#xff08;Boolean)2.1.4 整数&#xff08;Integer&#xff09;2.1.5 浮点数&#xff08;Floating Point&#xff09;2.1.6 空&#xff08;Nu…

找到9个可以编辑的线框图模板资源,自取

大家好&#xff0c;我是设计师l1m0&#xff0c;最近找到了的9个还比较不错的线框图模板&#xff0c;想要分享给大家。顺便提一下这个免费的资源下载网站&#xff1a;Pixso资源社区。 相比成熟的设计师都知道线框图对产品设计来说扮演着什么角色&#xff0c;在这里不做过多赘述…

搬家小程序开发攻略

随着互联网的快速发展&#xff0c;小程序已成为各行各业实现线上服务的重要工具。特别是在搬家行业&#xff0c;小程序的应用能够让用户更加便捷地获取服务。本文将为您详细介绍如何使用第三方制作平台&#xff0c;如乔拓云网&#xff0c;轻松开发一款搬家小程序&#xff0c;实…

echarts环形图,饼图 自定义title居中显示

需求 方法一 使用 div 定位 将数字放在饼图中间 <div style"position: relative;"><pieChart :chartObj"usageMap" /><div class"pieNum" :style"{ left: drawer ? 40px : 65px }"><div class"pieTitle&q…

Mysql-索引查询相关

一、单表查询 1.1 二级索引为null 不论是普通的二级索引&#xff0c;还是唯一二级索引&#xff0c;它们的索引列对包含 NULL 值的数量并不限制&#xff0c;所以我们采用key IS NULL 这种形式的搜索条件最多只能使用 ref 的访问方法&#xff0c;而不是 const 的访问方法 1.2 c…

零知识证明(zk-SNARK)(二)

From Computational Problem to zk-SNARK 本部分就是将计算难题转换为多项式&#xff0c;然后使用zk-SNARK。 &#xff08;注&#xff1a;以下用 P&#xff0c;V 替代 Prover&#xff0c;Verifier&#xff09; 计算难题->R1CS R1CS(Rank-1 Constraint System)是一种能够…

网络流量监控-sniffnet

{alert type“info”} 今天来分享一个监控流量的应用sniffnet。 github项目地址&#xff1a;https://github.com/GyulyVGC/sniffnet {/alert} 可以在github的readme上看到这个程序有的特性&#xff1a; 为什么要介绍它呢&#xff1a;主要是多线程、跨平台、可靠、操作简单 我…

视频云存储/安防监控视频智能分析网关V3:明烟/明火检测功能详解

智能分析网关系列是基于边缘AI计算技术&#xff0c;可对前端摄像头采集的视频流进行实时检测分析&#xff0c;能对监控画面中的人、车、物进行识别。我们的AI边缘计算网关硬件——智能分析网关目前有5个版本&#xff1a;V1、V2、V3、V4、V5&#xff0c;每个版本都能实现对监控视…

dbeaver离线安装clickhouse连接驱动

Clickhouse 数据库连接工具——DBeaver 主要介绍了Clickhouse 数据库连接工具——DBeaver相关的知识&#xff0c;希望对你有一定的参考价值。 Clickhouse 数据库连接工具——DBeaver 1.下载 DBeaver 和 连接驱动 https://dbeaver.io/files/dbeaver-ce-latest-x86_64-setup.…

学习JAVA打卡第四十五天

StringBuffer类 StringBuffer对象 String对象的字符序列是不可修改的&#xff0c;也就是说&#xff0c;String对象的字符序列的字符不能被修改、删除&#xff0c;即String对象的实体是不可以再发生变化&#xff0c;例如&#xff1a;对于 StringBuffer有三个构造方法&#xff…

QPS、TPS、RT、并发数、吞吐量分别是什么意思

首先&#xff0c;他们都是高并发系统中的系统指标 一、QPS&#xff1a;每秒查询 QPS&#xff08;Queries Per Second&#xff09;&#xff1a;是衡量信息检索系统&#xff08;例如搜索引擎或数据库&#xff09;在一秒钟内接收到的搜索流量的一种常见度量。该术语在任何请求-响…

踏进字节的那一瞬间,我泪目了,这457天的外包经历值了....

一年半吗&#xff1f;我只记得437个日日夜夜 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2021年8月&#xff0c;我有幸成为了字节跳动…