坐牢第三十六天(QT)

2024-09-07 10:12
文章标签 qt 坐牢 第三十六

本文主要是介绍坐牢第三十六天(QT),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自定义QQ界面

wedget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug> //qt中信息调试类
#include <QIcon> //图标类
#include <QPushButton>//按钮类
#include <QLabel> //标签类
#include <QMovie> //动图类
#include <QLineEdit> //行编辑器类
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
signals:void My_signal(); //信号函数的定义
public slots:void My_slot();
private:Ui::Widget *ui;//2.给界面上半部分加上标签放上动图QLabel *lab_jm_1;//创建标签QMovie*move_jm_1;//创建一个movie对象//3.给界面下半部分加上标签放入图片QLabel *lab_jm_3;//4,给界面中间整个头像QLabel *lab_jm_2;//5.左上角qq图标QLabel *lab_jm_4;QLabel *lab_jm_5;//1.账号标签QLabel *lab_pd;//2.密码标签QLabel *lab_id;//3.账号行编辑器QLineEdit *edit_id;//4.账号行编辑器QLineEdit *edit_pd;//1.登录按钮QPushButton *btn_login;//结果标签QLabel *lab_result;
};
#endif // WIDGET_H

wedger.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QDebug> //qt中信息调试类
#include <QIcon> //图标类
#include <QPushButton>//按钮类
#include <QLabel> //标签类
#include <QMovie> //动图类
#include <QLineEdit> //行编辑器类
#include <QCheckBox> //复选框类
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);/**************************界面整体样式******************************///1.设置界面this->setFixedSize(600,500);//设置固定大小this->setWindowTitle("QQ 复刻版");this->setWindowIcon(QIcon("D:\\linux_t\\icon\\qqqingliao"));//设置窗体图标this->setWindowOpacity(0.9);//设置窗口透明度//this->setWindowFlag(Qt::FramelessWindowHint);//设置窗口纯净//2.给界面上半部分加上标签放上动图lab_jm_1 =new QLabel(this);//创建标签lab_jm_1->move(0,0);lab_jm_1->resize(600,175);//设置标签大小move_jm_1 =new QMovie("D:\\linux_t\\icon\\fangao");//创建一个movie对象lab_jm_1->setMovie(move_jm_1);//将动图放入标签中move_jm_1->start();//让动图动起来lab_jm_1->setScaledContents(true);//让动图自适应大小lab_jm_1->setParent(this);//3.给界面下半部分加上标签放入图片lab_jm_3=new QLabel(this);//创建标签lab_jm_3->move(0,lab_jm_1->height());lab_jm_3->resize(600,325);//设置标签大小lab_jm_3->setPixmap(QPixmap("D:\\linux_t\\icon\\xaingrikui"));lab_jm_3->setScaledContents(true);//保持图片清晰度和完整性lab_jm_3->setWindowOpacity(0.1);//设置透明度//4,给界面中间整个头像lab_jm_2 =new QLabel(this);//创建标签lab_jm_2->resize(70,70);//设置大小lab_jm_2->move(lab_jm_1->width()/2-lab_jm_2->width()/2,lab_jm_1->height()-lab_jm_2->height()/2);//设置头像位置lab_jm_2->setPixmap(QPixmap("D:\\linux_t\\icon\\fangaotouxiang"));//放入静态图lab_jm_2->setScaledContents(true);//保持图片清晰度和完整性//5.左上角qq图标lab_jm_4 =new QLabel(this);//创建标签lab_jm_4->resize(40,50);//设置大小lab_jm_4->move(30,10);//设置头像位置lab_jm_4->setPixmap(QPixmap("D:\\linux_t\\icon\\123"));//放入静态图lab_jm_4->setScaledContents(true);//保持图片清晰度和完整性lab_jm_5 =new QLabel(this);//创建标签lab_jm_5->resize(50,50);//设置大小lab_jm_5->move(lab_jm_4->x()+lab_jm_4->width(),lab_jm_4->y());lab_jm_5->setPixmap(QPixmap("D:\\linux_t\\icon\\456"));//放入静态图lab_jm_5->setScaledContents(true);//保持图片清晰度和完整性/********************************账号密码标签和行编辑器****************************///1.账号标签lab_id=new QLabel("账号",this);//有参构造一个账号标签lab_id->resize(38,30);//设置大小lab_id->move(120,250);//设置位置lab_id->setPixmap(QPixmap("D:\\linux_t\\icon\\qq"));//加上图片lab_id->setScaledContents(true);//保持图片清晰度和完整性//2.密码标签lab_pd=new QLabel("账号",this);//有参构造一个密码标签lab_pd->resize(38,30);//设置大小lab_pd->move(120,lab_id->y()+lab_id->height()+5);//设置位置lab_pd->setPixmap(QPixmap("D:\\linux_t\\icon\\suo"));//加上图片lab_pd->setScaledContents(true);//保持图片清晰度和完整性//3.账号行编辑器edit_id =new QLineEdit("账号",this);edit_id->resize(200,30); //设置大小edit_id->move(lab_id->x()+lab_id->width()+20,lab_id->y());edit_id->clear();edit_id->setPlaceholderText("账号");//4.账号行编辑器edit_pd =new QLineEdit("账号",this);edit_pd->resize(200,30); //设置大小edit_pd->move(lab_pd->x()+lab_pd->width()+20,lab_pd->y());edit_pd->clear();edit_pd->setPlaceholderText("密码");edit_pd->setEchoMode(QLineEdit::Password); //设置回显模式/********************************登录取消按钮****************************///1.登录按钮btn_login =new QPushButton("登录",this);btn_login->resize(300,50);btn_login->move(lab_pd->x()+30,lab_pd->y()+lab_pd->height()+50);btn_login->setIcon(QIcon("D:\\linux_t\\icon\\denglu")); //设置按钮图标//btn_login->setStyleSheet("background-color: skyblue; border: 1px solid black; color: black;");  //设置样式表//2.给登录按钮链接connect(btn_login,&QPushButton::clicked,this,&Widget::My_slot);/********************************结果标签****************************/lab_result =new QLabel(this);//有参构造一个结果标签lab_result->resize(100,40);lab_result->move(btn_login->x()+100,btn_login->y()+btn_login->height());/********************************复选框标签****************************///1.自动登录QCheckBox *box1=new QCheckBox("自动登录",this);box1->resize(100,40);box1->move(btn_login->x(),btn_login->y()-50);//2.记住密码QCheckBox *box2=new QCheckBox("记住密码",this);box2->resize(100,40);box2->move(box1->x()+box1->width()+4,box1->y());//3.找回密码按钮QPushButton*  btn_id =new QPushButton("找回密码",this);btn_id->resize(100,40);btn_id->move(box2->x()+box2->width()+4,box2->y());btn_id->setStyleSheet("background-color: rgba(0, 0, 0, 0);");//4.注册账号按钮QPushButton*  btn_pd =new QPushButton("注册账号",this);btn_pd->resize(100,40);btn_pd->move(lab_jm_4->x(),450);btn_pd->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
}Widget::~Widget()
{delete ui;
}
void Widget:: My_slot()
{if(edit_id->text()==edit_pd->text()){//this-> close();lab_result->setStyleSheet(" color: bleak;");lab_result->setText("登录成功");}else{edit_pd->clear();lab_result->setStyleSheet(" color: rgb(255, 0,0);");lab_result->setText("登录失败");}
}

结果:

 

这篇关于坐牢第三十六天(QT)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Qt中QGroupBox控件的实现

《Qt中QGroupBox控件的实现》QGroupBox是Qt框架中一个非常有用的控件,它主要用于组织和管理一组相关的控件,本文主要介绍了Qt中QGroupBox控件的实现,具有一定的参考价值,感兴趣... 目录引言一、基本属性二、常用方法2.1 构造函数 2.2 设置标题2.3 设置复选框模式2.4 是否

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Qt 中 isHidden 和 isVisible 的区别与使用小结

《Qt中isHidden和isVisible的区别与使用小结》Qt中的isHidden()和isVisible()方法都用于查询组件显示或隐藏状态,然而,它们有很大的区别,了解它们对于正确操... 目录1. 基础概念2. 区别清见3. 实际案例4. 注意事项5. 总结1. 基础概念Qt 中的 isHidd

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

Qt把文件夹从A移动到B的实现示例

《Qt把文件夹从A移动到B的实现示例》本文主要介绍了Qt把文件夹从A移动到B的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录如何移动一个文件? 如何移动文件夹(包含里面的全部内容):如何删除文件夹:QT 文件复制,移动(

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台