QT--3

news2025/1/26 5:49:09

 Qt

1>将文本编辑器完整实现

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->resize(800,600);
    edit1 = new QTextEdit(this);
    edit1->resize(600,600);
    //字体
    btnziti = new QPushButton("字体",this);
    btnziti->resize(150,50);
    btnziti->move(625,50);
    //颜色
    btncolor = new QPushButton("颜色",this);
    btncolor->resize(150,50);
    btncolor->move(625,125);
    //打开文件
    btnopen = new QPushButton("打开文件",this);
    btnopen->resize(150,50);
    btnopen->move(625,200);
    //保存文件
    btnsave = new QPushButton("保存文件",this);
    btnsave->resize(150,50);
    btnsave->move(625,275);
    connect(btnziti,&QPushButton::clicked,[=](){
        bool ok = false;
        QFont f = QFontDialog::getFont(&ok,QFont("宋体",10,10,true),this,"选择字体");
        if(ok)
        {
            edit1->setCurrentFont(f);
        }
    });
    connect(btncolor,&QPushButton::clicked,[=](){

        QColor c = QColorDialog::getColor(QColor("red"),this,"选择颜色");
        if(c.isValid() == true)
        {
            edit1->setTextBackgroundColor(c);
        }
    });
    connect(btnopen,&QPushButton::clicked,this,&Widget::openfile);
    connect(btnsave,&QPushButton::clicked,this,&Widget::savefile);
}

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

void Widget::openfile()
{
    QString filename = QFileDialog::getOpenFileName(this,"选择文件","./","all(*.*)");
    QFile file(filename);
    if(file.open(QFile::ReadOnly)==false)
    {
        QMessageBox::information(this,"提示","文件打开失败");
        return;
    }
    QByteArray msg = file.readAll();
    edit1->setText(msg);
    file.close();
}

void Widget::savefile()
{
    QString filename = QFileDialog::getOpenFileName(this,"选择文件","./","all(*.*)");
    QFile file(filename);
    if(file.open(QFile::WriteOnly)==false)
    {
        QMessageBox::information(this,"提示","文件打开失败");
        return;
    }
    QString msg = edit1->toPlainText();
    file.write(msg.toUtf8().data());
    file.close();
}

2>重新将登录框实现完整

#include "widget.h"
#include "ui_widget.h"


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //=======窗口相关设置======
    this->resize(680,520);
    this->setFixedSize(680,520);
    this->setWindowTitle("Tim");
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setStyleSheet("background-color:rgb(255,255,255)");

    //=======标签相关设置======
    QLabel *lab1 = new QLabel(this);
    lab1->resize(400,520);
    lab1->setPixmap(QPixmap(":/pictrue/tim.png"));

    //=======行编辑器相关设置=======
    edit1 = new QLineEdit(this);
    edit1->resize(220,50);
    edit1->move(430,270-50);
    edit1->setPlaceholderText("QQ号码/手机号/邮箱");

    edit2 = new QLineEdit(this);
    edit2->resize(220,50);
    edit2->move(430,270);
    edit2->setPlaceholderText("密码");
    edit2->setEchoMode(QLineEdit::Password);

    //=======按钮相关设置=====
    QPushButton *btn1 = new QPushButton(this);
    btn1->resize(64,64);
    btn1->move(500-32,120-32);
    btn1->setStyleSheet("background-color:rgb(17,145,255);border-radius:32px");
    btn1->setIcon(QIcon(":\\pictrue\\qie.png"));

    QPushButton *btn2 = new QPushButton(this);
    btn2->resize(64,64);
    btn2->move(580-32,120-32);
    btn2->setStyleSheet("background-color:rgb(245,245,245);border-radius:32px");
    btn2->setIcon(QIcon(":\\pictrue\\wechat.png"));

    QPushButton *btn3 = new QPushButton("记住密码",this);
    btn3->resize(74,25);
    btn3->move(430,440);
    btn3->setIcon(QIcon(":\\pictrue\\kuang.png"));

    QPushButton *btn4 = new QPushButton("自动登陆",this);
    btn4->resize(74,25);
    btn4->move(430,470);
    btn4->setIcon(QIcon(":\\pictrue\\kuang.png"));

    QPushButton *btn5 = new QPushButton("找回密码",this);
    btn5->resize(74,25);
    btn5->move(600,440);

    QPushButton *btn6 = new QPushButton("注册密码",this);
    btn6->resize(74,25);
    btn6->move(600,470);

    btn7 = new QPushButton(this);
    btn7->resize(25,25);
    btn7->move(640,12);
    btn7->setIcon(QIcon(":\\pictrue\\x.png"));

    QPushButton *btn8 = new QPushButton(this);
    btn8->resize(25,25);
    btn8->move(605,12);
    btn8->setIcon(QIcon(":\\pictrue\\set.png"));

    btn9 = new QPushButton("登录",this);
    btn9->resize(220,50);
    btn9->move(430,270+80);

 //   btn9->setStyleSheet("background-color:red;border-radius:5px");
    connect(edit1, &QLineEdit::textChanged, this, &Widget::mySlots);
    connect(edit2, &QLineEdit::textChanged, this, &Widget::mySlots);
    connect(btn7, &QPushButton::clicked, this, &Widget::clicked);
    connect(btn9, &QPushButton::clicked, [&](){
                if(edit1->text()=="123456"&&edit2->text()=="123456")
                {
                    int res = QMessageBox::information(this,"登录","登录成功",QMessageBox::Ok,QMessageBox::Ok);
                    if(res == QMessageBox::Ok)
                    {
                        emit jump();
                        this->close();
                    }
//                    qDebug() << "denglu" ;
//                    emit jump();
//                    this->close();
                }
                else
                {
                    QMessageBox box(QMessageBox::Critical,"问题","登录失败,是否重新登录",QMessageBox::Ok|QMessageBox::No,this);
                    box.setButtonText(QMessageBox::No,"no");
                    box.setButtonText(QMessageBox::Ok,"yes");
                    int res = box.exec();
                    if(res == QMessageBox::Ok)
                    {
                        edit1->clear();
                        edit2->clear();
                    }
                    else if(res == QMessageBox::No)
                    {
                        this->close();
                    }
                }

       });
}
Widget::~Widget()
{
    delete ui;
}
void Widget::clicked()
{
    QMessageBox box(QMessageBox::Question,"问题","您是否确认退出登录",QMessageBox::Ok|QMessageBox::No,this);
    box.setButtonText(QMessageBox::No,"no");
    box.setButtonText(QMessageBox::Ok,"yes");
    int res = box.exec();
    if(res == QMessageBox::Ok)
    {
        this->close();
    }
    else if(res == QMessageBox::No)
    {

    }

}
void Widget::mySlots()
{
    if(edit1->text().size()>=6&&edit2->text().size()>=6)
    {
        btn9->setEnabled(true);
//        btn9->setStyleSheet("background-color:green;border-radius:5px");
    }
    else
    {
        btn9->setEnabled(false);
//        btn9->setStyleSheet("background-color:red;border-radius:5px");
    }
}

#include "second.h"
#include "ui_second.h"

void Second::fun()
{
    this->show();
}

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
}

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

 

 

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

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

相关文章

情感分类学习笔记(1)

文本情感分类&#xff08;二&#xff09;&#xff1a;深度学习模型 - 科学空间|Scientific Spaces 一、代码理解 cw lambda x: list(jieba.cut(x)) #定义分词函数 您给出的代码定义了一个使用 jieba 分词库的分词函数。jieba 是一个用于中文分词的 Python 库。该函数 cw 是…

二重积分(深度解析)

二重积分是二元函数在空间上的积分&#xff0c;同定积分类似&#xff0c;是某种特定形式的和的极限。本质是求曲顶柱体体积。重积分有着广泛的应用&#xff0c;可以用来计算曲面的面积&#xff0c;平面薄片重心等。平面区域的二重积分可以推广为在高维空间中的&#xff08;有向…

Kafka 业务日志采集最佳实践

简介 Apache Kafka 是一个分布式流处理平台&#xff0c;主要用于构建实时数据流管道和应用程序。在收集业务日志的场景中&#xff0c;Kafka 可以作为一个消息中间件&#xff0c;用于接收、存储和转发大量的日志数据。将 Kafka 与其他系统&#xff08;如 Elasticsearch、Flume、…

steam_api64.dll是什么东西?steam_api64.dll缺失的多个详细解决方法

在现代PC游戏领域&#xff0c;Steam无疑是最具影响力的游戏分发和社交平台之一。它不仅提供了一个庞大的游戏市场&#xff0c;还集成了好友系统、成就系统、云存储等多种功能&#xff0c;为数百万玩家提供了便捷的游戏体验。在这庞大的生态系统中&#xff0c;steam_api64.dll作…

vue3 依赖-组件tablepage-vue3版本1.0.3更新内容

github求⭐ 可通过github 地址和npm 地址查看全部内容 vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例-汇总 vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例&#xff08;Ⅰ&#…

DDPM与扩散模型

很早之前就新建了一个专栏从0开始弃坑扩散模型 ,但发了一篇文章就没有继续这一系列&#xff0c;在这个AIGC的时代&#xff0c;于是我准备重启这个专栏。 整个专栏的学习顺序可以见这篇汇总文章 这是本专栏的第一章 目录 引言生成模型的发展历程 引言 扩散模型( Diffusion Mode…

C数据结构:栈

目录 栈的作用 栈的实现 栈的数据结构 栈的初始化 栈的销毁 栈的插入 栈的删除 获得栈顶元素 获得栈有效元素个数 判断栈是否为空 栈的使用 完整代码 栈是一种特殊结构的线性表 先来看看栈的图 之所以说它特殊&#xff0c;是因为它的插入删除功能比较特殊 栈的插…

DBdoctor产品介绍

基本信息 DBdoctor是聚好看科技股份有限公司自主研发的一款数据库内核级性能诊断工具&#xff0c;首次将eBPF技术聚焦在了数据库领域&#xff0c;一分钟内定位数据库性能问题并给出优化建议&#xff0c;实现数据库性能诊断百倍提效。 免费下载 请在PC端打开以下链接&#x…

Burp Suite抓取明文

目录 Burp Suite代理 正常的通信模式 Burp Suite代理后通信模式 设置代理 安装证书 导出证书 Burp Suite导入 浏览器下载证书 安装证书 管理证书 导入证书 下一步 导入证书 下一步 完成 抓明文的例子 1、修改浏览器代理 ​编辑2、开启拦截​编辑 3、查看抓取历…

NSS题目练习

[SWPUCTF 2021 新生赛]gift_F12 通过题目提示可以知道flag应该可以在源代码中找到 查看源代码&#xff0c;直接用 ctrlf 搜索flag即可 [SWPUCTF 2021 新生赛]jicao 题目打开后能看到一串php代码&#xff0c;要求是用post传参传入idwllmNB以及用get传参传入json[x]"wllm&q…

YoloV5的学习与使用

前言 Yolo算法简介 YOLO (You Only Look Once) 是一种用于目标检测的深度学习算法&#xff0c;由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 在 2015 年提出。YOLO 是一种端到端的算法&#xff0c;它将目标检测任务视为一个单一的回归问题&#xff0c;从…

Web3钱包开发获取测试币-OKB X1Testnet(三)

Web3钱包开发获取测试币-OKB X1Testnet(三) 基于以上两篇 Web3钱包开发获取测试币-Polygon Mumbai(一) &#xff1a;https://suwu150.blog.csdn.net/article/details/137949473Web3钱包开发获取测试币-Base Sepolia(二)&#xff1a;https://suwu150.blog.csdn.net/article/det…

【HTTP下】总结{重定向/cookie/setsockopt/流操作/访问网页/总结}

文章目录 1.请求头2.cookie理解 3.vim跳转/搜索4.setsockopt被重用的意思 5.流操作5.1定位读取指针5.2ifstram::read() 6.总结6.1 百度搜索框搜索功能字符6.2请求uri请求和响应的第一行都有http版本请求内容里有GET /favicon.ico HTTP/1.1 6.3访问网页Fiddler抓包原理&#xff…

从零开始的软件测试学习之旅(九)jmeter直连数据库及jmeter断言,关联

jmeter直连数据库及断言,关联 jmeter直连数据库步骤jmeter断言jmeter逻辑控制器if控制器ForEach控制器循环控制器 Jmeter关联Jmeter关联XPath提取器Jmeter关联正则表达式提取器二者比较跨线程组关联 每日复习 jmeter直连数据库 概念 这不叫直连:Jmeter -> java/python 提供的…

W801学习笔记二十四:NES模拟器游戏

之前已经实现了NES模拟器玩游戏。W801学习笔记九&#xff1a;HLK-W801制作学习机/NES游戏机(模拟器) 现在要在新版本掌机中移植过来。 1、把NES文件都拷贝到SD卡中。 这回不会受内存大小限制了。我这里拷贝了4个&#xff0c;还可以拷贝更多。 2、应用初始化中&#xff0c;加载…

Spring:OAuth2.0

文章目录 一、认证与授权二、OAuth2.0介绍 一、认证与授权 认证&#xff08;Authentication&#xff09;与授权&#xff08;Authorization&#xff09;在网络安全和系统管理中是两个重要的概念&#xff0c;它们各自有不同的作用和目标。 认证是验证确认身份以授予对系统的访问…

编辑员工信息——后端

需求&#xff1a; 在员工管理列表页面点击编辑按钮&#xff0c;跳转到编辑页面&#xff0c;在编辑页面回显员工信息并进行修改&#xff0c;最后点击保存按钮完成编辑操作。 代码开发流程&#xff1a; 点击编辑按钮&#xff0c;页面跳转到add.html&#xff0c;并在url中携带参…

高精度数学计算的瑞士军刀,mpmath库详解与应用示例

写在前言 hello&#xff0c;大家好&#xff0c;我是一点&#xff0c;专注于Python编程&#xff0c;如果你也对感Python感兴趣&#xff0c;欢迎关注交流。 做为一个一只脚已经踏进35岁大关的程序员&#xff0c;对于职场&#xff0c;几乎向上无望&#xff0c;已经没有太多的期待…

面向侧扫声纳目标检测的YOLOX-ViT知识精馏

面向侧扫声纳目标检测的YOLOX-ViT知识精馏 摘要IntroductionRelated WorkYOLOv-ViTKnowledge DistillationExperimental Evaluation Knowledge Distillation in YOLOX-ViT for Side-Scan Sonar Object Detection 摘要 在本文中&#xff0c;作者提出了YOLOX-ViT这一新型目标检测…

Springboot+vue项目零食销售商城

摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;零食销售商城当然也不能排除在外。零食销售商城是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff…