QT第一讲

news2024/12/19 18:46:43

思维导图

手动实现登录框 

要求:

        1、登录窗口更改标题、图标

        2、设置固定尺寸、并给定一定的透明度

widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>


#include<QWidget>
#include<QDebug>  //信息调试类,用于打印输出-->cout<< printf()
#include<QIcon>   //图标头文件
#include<QPushButton> //按钮类头文件
#include<QLineEdit>  //行编辑器类
#include<QLabel>     //标签类
#include<QMovie>


QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLabel *lab4;
    QLineEdit *edit1;
    QLabel *lab5;
    QLineEdit *edit2;
    QLabel *lab6;
    QPushButton *btn1;
    QLabel *lab7;
    QPushButton *btn2;

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{

    //设置截面尺寸
    this->resize(600,600);
    this->setWindowTitle("ikun Chat");
    this->setFixedSize(600,600);
    this->setWindowOpacity(0.9);

    lab1 = new QLabel(this);   //主背景
    lab1->setPixmap(QPixmap("E:\\Qt\\Icon\\1.png"));
    lab1->resize(30,30);
    lab1->move(0,0);
    lab1->setScaledContents(true); //图片大小自适应

    lab2 = new QLabel("ikun chat",this); //顶部文字
    lab2->resize(100,30);
    lab2->move(100,0);

    lab3 = new QLabel(this);
    lab3->setPixmap(QPixmap("E:\\Qt\\icon\\bg.png"));
    lab3->resize(600,150);
    lab3->move(0,30);
    lab3->setScaledContents(true);

    lab4 = new QLabel(this);//账号框图标
    lab4->setPixmap(QPixmap("E:\\Qt\\QQIcon\\user.png"));
    lab4->resize(30,30);
    lab4->move(80,190);
    lab4->setScaledContents(true);

    edit1 = new QLineEdit(this);  //账号框
    edit1->resize(200,30);
    edit1->move(120,190);
    edit1->setPlaceholderText("账号");

    lab5 = new QLabel(this);//密码框图标
    lab5->setPixmap(QPixmap("E:\\Qt\\QQIcon\\password.png"));
    lab5->resize(30,30);
    lab5->move(80,240);
    lab5->setScaledContents(true);

    edit2 = new QLineEdit(this);  //密码框
    edit2->resize(200,30);
    edit2->move(120,240);
    edit2->setEchoMode(QLineEdit::Password); //密文模式
    edit2->setPlaceholderText("密码");

    lab6 = new QLabel(this);  //登录图标
    lab6->setPixmap(QPixmap("E:\\Qt\\QQIcon\\signup.png"));
    lab6->resize(30,30);
    lab6->move(200,300);
    lab6->setScaledContents(true);

    btn1 = new QPushButton("登录",this); //登录框
    btn1->resize(80,30);
    btn1->move(230,300);

    lab7 = new QLabel(this);  //取消图标
    lab7->setPixmap(QPixmap("E:\\Qt\\QQIcon\\exit.png"));
    lab7->resize(30,30);
    lab7->move(320,300);
    lab7->setScaledContents(true);

    btn2 = new QPushButton("取消",this); //取消框
    btn2->resize(80,30);
    btn2->move(350,300);
}

Widget::~Widget()
{
    delete ui;
}

main.cpp
#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}
测试运行结果

 

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

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

相关文章

谱瑞PS186芯片DP1.4转HDMI2.0主动式4K转换线DSC支持10bit色深HDR

PS186 是 DisplayPort ™ v1.4a 到 HDMI ™ 2.0b 视频接口转换器&#xff0c;非常适合电缆适配器、扩展坞、监视器、电视接收器和其他需要视频协议转换的应用。输入是一个 DP v1.4a 兼容的上行端口&#xff0c;它接受音频和显示数据&#xff0c;输出是一个 HDMI 2.0b 兼容的下行…

【C++】模板(下)

文章目录 一、typename的使用二、非类型模板参数三、模板的特化1.概念2.函数的模板特化3.类的模板特化① 全特化② 偏特化 一、typename的使用 前面我们在使用模板参数的时候可以使用class&#xff0c;也可以使用typename定义模板参数&#xff0c;现在typename有了新的作用 tem…

jQuery 对象转换与选择器

目录 1.js与jQuery对象之间转换 2.jQuery选择器 2.1 基本选择器 2.2层级选择器 2.3 基本过滤选择器 1.js与jQuery对象之间转换 js的DOM对象转换成jQuery对象&#xff0c;语法&#xff1a;$(js的DOM对象) var jsDomEle document.getElementById("myDiv"); //js的…

搭建禅道环境作为练习UI和接口自动化测试对象

搭建禅道环境作为练习UI和接口自动化测试对象 1 目的2 禅道下载3 禅道安装4 禅道运行5 接口查看6 验证接口测试7 验证UI测试 1 目的 做UI和接口自动化练习时&#xff0c;有时候找不到合适的对象&#xff0c;我们可使用禅道来联系&#xff1b;因为禅道有开源版&#xff0c;可以…

three.js-解决外部模型太暗的问题

先看效果 优化前 优化后的效果 在网上找了好久&#xff0c;好多方法都过时了&#xff0c;还有调整自发光都不行&#xff0c;后来又调金属度的&#xff0c;试了下很ok, child.material.metalness 0.58;&#xff0c;完整例子看下边。 解决方案 调整模型的金属度 loader.lo…

git 提示 不能合并

今天A分支合并B分支&#xff0c;提示“不能合并” 最终发现&#xff0c;是另一个分支的版本落后导致&#xff0c;但是git并未提示出来 有遇到这种问题可以先检查下版本

go-zerogo web集成JWT和cobra命令行工具实战

前言 上一篇&#xff1a;从零开始基于go-zero的go web项目实战-01项目初始化 从零开始基于go-zero搭建go web项目实战-02集成JWT和cobra命令行工具 源码仓库地址 源码 https://gitee.com/li_zheng/treasure-box JWT JWT&#xff08;JSON Web Token&#xff09;是一种开放标…

一起学SF框架系列5.8-spring-Beans-注解bean解析4-bean解析

前面三节主要讲了如何加载注解Bean的BeanDefinition&#xff0c;执行环节是在DefaultBeanDefinitionDocumentReader.parseBeanDefinitions中用BeanDefinitionParserDelegate.parseCustomElement(ele)加载的&#xff0c;实际上没对注解真正进行解析。本节主要讲述注解bean如何被…

性能测试过程有哪些?都要做什么

13.1 性能测试过程概述 13.2 性能测试设计 需要关注的问题&#xff1a;事务需求、技术需求、系统要求、团队要求 分析从五个方面分析&#xff1a;需求调研、事务模型、场景模型、数据设计、环境设计 13.2.1 需求调研 ① 测试系统预研&#xff1a;系统相关知识、系统目的、…

MinIO在Linux环境下单机安装部署

1、MinIO是什么&#xff1f; MinIO 是一个基于 Go语言实现的高性能对象存储。它采用AGPL&#xff08;GNU Affero General Public License&#xff09; 开源协议并兼容 S3 协议。 官网地址&#xff1a;https://min.io/ github地址&#xff1a;https://github.com/minio/minio …

C 程序 运算符

文章目录 1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符6、杂项运算符 ↦ sizeof & 三元7、运算符优先级 1、算术运算符 #include <stdio.h>int main() {int a 21;int b 10;int c ;c a b;printf("Line 1 - c 的值是 %d\n", c );c …

Jenkins从配置到实战(一) - 实现C/C++项目自动化构建

前言 本文章主要介绍了&#xff0c;如何去安装和部署Jenkins&#xff0c;并实现自动拉取项目代码&#xff0c;自动化编译流程。 网站 官网中文网站 下载安装 可以下载这个 安装jenkins前先安装java yum search java|grep jdkyum install java-1.8.0-openjdk 安装jenkins j…

我是如何做性能测试 - 文档收集并深入学习

目录 前言&#xff1a; 1. 架构设计说明书 2. 需求说明文档/需求规格说明书 3. 接口设计文档 4. 接口详细设计文档 5. 数据库设计文档 前言&#xff1a; 性能测试是软件开发过程中的一个重要方面&#xff0c;它旨在评估软件在不同负载和压力条件下的性能表现。性能测试需…

Android10 调用相机 ( 涉及读写文件 ) 闪退

背景 按照 << 第一行Android代码>>写了一下调用摄像头和相册的案例, 页面是下面截图的样子, 拍照或者从相册选择图片后, 在下方的 imageView 里将图片显示出来. 点击 “从相册选择照片” 按钮的时候功能是正常的, 点击 “拍照” 按钮的时候会闪退并报告相机异常.…

Java训练三

一、数独 将1~9的数字放入一个3x3的数组中国&#xff0c;判断数组每行每列以及每个对角线的值相加是否都相同。 package haha; public class helloworld{public static void main(String[] args) {int arr[][] {{1,2,3},{4,5,6},{7,8,9}};//每行int arr1[]new int[3];for(int…

【uniapp学习之】uni-forms必填项校验

代码块 <uni-forms ref"baseForm" :modelValue"baseFormData" label-widthauto :rules"rules"><uni-forms-item label"企业名称" required name"principalName"><uni-easyinput v-model"baseFormData.…

数组中重复的数据(力扣)思维 JAVA

给你一个长度为 n 的整数数组 nums &#xff0c;其中 nums 的所有整数都在范围 [1, n] 内&#xff0c;且每个整数出现 一次 或 两次。 请你找出所有出现 两次 的整数&#xff0c;并以数组形式返回。 你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

git pull无效,显示 * branch master -> FETCH_HEADAlready up to date. pull无效解决方法

报错情况 本地文件夹中删除文件后&#xff0c;git pull无效。显示如下&#xff1a; **** MINGW64 ~/****/haha (master) $ git pull origin master From https://gitee.com/****/haha* branch master -> FETCH_HEAD Already up to date.解决 方法一 命令…

C++ —— STL容器【vector】模拟实现

本章代码gitee仓库&#xff1a;vector模拟实现、vector源码 文章目录 &#x1f608;0. 搭个框架&#x1f604;1. 成员&#x1f47b;2. 构造函数 & 析构函数 & 拷贝构造&#x1f63a;3. 迭代器&#x1f649;4. operator[] & operator&#x1f916;5. 容器的容量 &am…