学QT的第三天~

ikun登录界面完善

#include "mywidget.h"
 
void MyWidget::bth1()
{
    if(edit3 ->text()=="520cxk"&&edit4 ->text()=="1314520")
    {
        //1.实例化一个QmessageBox类的对象
        QMessageBox box(QMessageBox::Information, //图标
                        "恭喜你",          //对话框
                        "登陆成功?",             //对话框文本
                        QMessageBox::Ok, //提供的按钮
                        this);                       //父组件
        //2.调用成员函数,进入执行态
        //exec函数的返回值是用户点击的对话框上面的按钮
        int res =box.exec();
 
        //3.对用户点击的按钮进行判断
        if(res==QMessageBox::Ok)
        {
            qDebug()<< "你好,真爱粉";
            jump();
            this->close();
 
        }
 
 
 
    }
    else
    {
        speecher->say("死黑粉,唉哟,你干嘛!");
        int bth = QMessageBox::warning(this,  //父组件
                                     "密码错误",   //标题
                                     "小黑子,露出鸡脚了吧,是否重新登录",  //文本内容
                                      QMessageBox::Yes|QMessageBox::No, //提供的按钮
                                      QMessageBox::Yes);//默认选中的按钮
        if(bth==QMessageBox::Yes)
        {
            this->edit3->clear();
            this->edit4->clear();
        }else if(bth==QMessageBox::No)
        {
              this->close();
        }
 
 
    }
}
 
void MyWidget::line()
{
    QString str=edit3->text();
 
    if(str.size()<6)
    {
        this->bth2->setStyleSheet("background-color:red");
    }else if(str.size()==6)
    {
        this->bth2->setStyleSheet("background-color:green");
    }else
    {
        this->bth2->setStyleSheet("background-color:yellow");
    }
}
 
void MyWidget::bth3_myslots()
{
    //1.实例化一个QmessageBox类的对象
    QMessageBox box(QMessageBox::Question, //图标
                    "问题对话框",          //对话框
                    "你确定要离开哥哥吗?",             //对话框文本
                    QMessageBox::Yes|QMessageBox::No, //提供的按钮
                    this);                       //父组件
    //2.调用成员函数,进入执行态
    //exec函数的返回值是用户点击的对话框上面的按钮
    int res =box.exec();
 
    //3.对用户点击的按钮进行判断
    if(res==QMessageBox::Yes)
    {
        this->close();
    }else if(res==QMessageBox::No)
    {
            qDebug()<<"要荔枝";
 
    }
}
 
 
 
MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
     speecher =new QTextToSpeech;
    //============窗口相关设置==========//
    this->resize(427,330);
    this->setFixedSize(427,330);
    //设置图标
    this->setWindowIcon(QIcon("C:\\Users\\Admin\\Desktop\\pictrue\\dahz.jpg"));
    //设置窗口标题
    this->setWindowTitle("唉哟,你干嘛!");
    //去掉头部
    this->setWindowFlag(Qt::FramelessWindowHint);
 
 
 
    //=========标签相关设置=============//
    QLabel *lab01=new QLabel(this);
    //设置大小
    lab01->resize(427,330);
 
    //设置动图
    QMovie *mv= new QMovie("C:\\Users\\Admin\\Desktop\\pictrue\\aix.gif");
    //将动图放入标签中
    lab01->setMovie(mv);
    //让动图动起来
    mv->start();
    //自动适应
    lab01->setScaledContents(true);
    //创建一个标签
    QLabel *lab1=new QLabel("密码:",this);
    lab1->move(155,195);
    lab1->resize(100,50);
 
    //创建第二个标签
    QLabel *lab2=new QLabel("ikun:",this);
    lab2->move(155,135);
    lab2->resize(100,50);
    //创建第三个标签
    QLabel *lab3=new QLabel(this);
    lab3->move(100,135);
    lab3->resize(50,50);
    lab3->setPixmap(QPixmap(":/pictrue/xhz.webp"));
    lab3->setScaledContents(true);
    //创建第四个标签
    QLabel *lab4=new QLabel(this);
    lab4->move(100,195);
    lab4->resize(50,50);
    lab4->setPixmap(QPixmap(":/pictrue/dahz.jpg"));
    lab4->setScaledContents(true);
    //创建第五个标签
    QLabel *lab5=new QLabel(this);
    lab5->move(395,0);
    lab5->resize(30,30);
    lab5->setPixmap(QPixmap(":/pictrue/cancel.png"));
    lab5->setScaledContents(true);
    //创建第六个标签
    QLabel *lab6=new QLabel(this);
    lab6->move(155,20);
    lab6->resize(150,80);
    //设置动图
    QMovie *mv2= new QMovie(":/pictrue/daf.gif");
    //将动图放入标签中
    lab6->setMovie(mv2);
    //让动图动起来
    mv2->start();
    //自动适应
    lab6->setScaledContents(true);
 
 
 
 
    //=========行编译器相关设置=============//
    //创建第一个行编译器
    edit4 =new QLineEdit(this);
    edit4->move(200,210);
    edit4->setPlaceholderText("密码");
    edit4->setEchoMode(QLineEdit::Password);
 
    //创建第二个行编译器
     edit3 =new QLineEdit(this);
     edit3->move(200,150);
     //设置占位
     edit3->setPlaceholderText("QQ号/手机号/邮箱");
    connect(this->edit3,&QLineEdit::textChanged,this,&MyWidget::line);
 
     //=========按钮设置==============//
     bth2 =new QPushButton("登录",this);
     bth2->move(200,260);
     bth2->resize(60,25);
     //样式函数setStylesheet()
     bth2->setStyleSheet("background-color:rgb(8,189,253)");
     connect(this->bth2,&QPushButton::clicked,this,&MyWidget::bth1);
     bth3 =new QPushButton("退出",this);
     bth3->move(280,260);
     bth3->resize(60,25);
     //样式函数setStylesheet()
     bth3->setStyleSheet("background-color:rgb(8,189,253)");
     connect(this->bth3,&QPushButton::clicked,this,&MyWidget::bth3_myslots);
 
}
 
MyWidget::~MyWidget()
{
}

文本编辑器完善

#include "widget.h"
#include "ui_widget.h"
 
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}
 
Widget::~Widget()
{
    delete ui;
}
 
 
void Widget::on_btn1_clicked()
{
    //调用字体对话框,用于选择字体
    bool ok=false;
    QFont f=QFontDialog::getFont(&ok,
                                 QFont("宋体",10,10,true),
                                 this,
                                 "选择字体");
    if(ok)
    {
        ui->textEdit->setCurrentFont(f);
    }
}
 
void Widget::on_btn2_clicked()
{
    QColor c=QColorDialog::getColor(QColor("red"),
                                    this,
                                    "选择颜色");
    if(c.isValid()==true)
    {
        ui->textEdit->setTextBackgroundColor(c);
    }
}
 
void Widget::on_btn3_clicked()
{
    QString fileName= QFileDialog::getOpenFileName(this,    //父组件
                                               "选择文件",  //对话框
                                               "./",       //起始路径
                                              "all(*.*);;images(*.pang *.jpg *.gif);;源文件(*.cpp)");//过滤器
     qDebug()<< fileName;
    //文件操作
    //1.通过文件路径实例化一个文件对象
    QFile file(fileName);
 
    //2.打开文件
    if(file.open(QFile::ReadOnly)==false)
    {
        QMessageBox::information(this,"提升","文件打开失败");
        return;
    }
    //3.读取文件中的内容
    QByteArray msg=file.readAll();
    //4.将读取出来的数据,展示到文本编译器中
    ui->textEdit->setText(msg);
 
    //5.关闭文件
    file.close();
}
 
void Widget::on_btn4_clicked()
{
    QString fileName= QFileDialog::getOpenFileName(this,    //父组件
                                               "选择文件",  //对话框
                                               "./",       //起始路径
                                              "all(*.*);;images(*.pang *.jpg *.gif);;源文件(*.cpp)");//过滤器
     qDebug()<< fileName;
    //文件操作
    //1.通过文件路径实例化一个文件对象
    QFile file(fileName);
 
    //2.打开文件
    if(file.open(QFile::WriteOnly)==false)
    {
        QMessageBox::information(this,"提升","文件打开失败");
        return;
    }
    //3.获取取文本框中的内容
     QString str=ui->textEdit->toPlainText();
     QByteArray bytearray =str.toLatin1();
     char *ch=bytearray.data();
 
    //4.将读取出来的数据,展示到文本编译器中
      file.write(ch);
 
    //5.关闭文件
    file.close();
}

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

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

相关文章

cesium雷达扫描(消逝圆效果)

cesium雷达扫描(消逝圆效果) 以下为源码直接复制可用 1、实现思路 通过修改“material”材质来实现轨迹球效果 2、示例代码 1、index.html <!DOCTYPE html> <html lang="en"><head><!

基于JSP的酒店客房管理系统(二)

目录 第二章 相关技术介绍 2.1 Jsp的简介 2.2 sql server 2005 的简介 第三章 系统的分析与设计 3.1 系统需求分析 1&#xff0e;理解需求 2&#xff0e;需求分析 3.2开发及运行环境 3.3功能模块的设计 3.3.1 设计目标 3.3.2 客房管理系统前台的设计 3.3.3 操作员管…

Learning Continuous Image Representation with Local Implicit Image Function

CVPR2021https://github.com/yinboc/liif 问题引入 图像普遍都是使用像素来表示的&#xff0c;而现实世界是连续的&#xff0c;所以本文借鉴3D中neural implicit representation的思想&#xff0c;以连续的方式表示图像&#xff1b;模型输入坐标值和坐标附近的特征&#xff0…

matplotlib/seaborn 绘图可视化全面总结

1.概述 使用Matplotlib 绘图实现可视化时&#xff0c;会面临不同的需求有所调整&#xff0c;本文档重点对绘图过程中产生的一些小众需求进行全面总结&#xff0c;其他任务时可以随时即抽即用。 2.绘图 2.1 一般绘图 plt.figure() 参数设置说明 matplotlib.pyplot.figure( …

python如何整体缩进

python自带编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进 Ctrl【 整体取消缩进 Ctrl】 pycharm编辑器的缩进和取消缩进快捷键&#xff1a; 整体缩进&#xff1a; tab 整体取消缩进&#xff1a; tabshift

2024全国计算机专业大学排名前10强名单

根据2024软科中国大学专业排名——计算机科学与技术专业&#xff0c;全国计算机专业最好的5所大学分别是清华大学、浙江大学、北京大学、国防科技大学和北京航空航天大学等&#xff0c; 以下是上大学网&#xff08;https://www.sdaxue.com/&#xff09;整理的全国计算机专业&a…

剁手党必看——转转红包使用规则与最优组合计算全解析

​ 1、省钱攻略基础之“了解平台红包使用规则” 2、举个栗子 3、最优红包组合计算方法进化过程 3.1、初代“笛卡尔乘积”版 3.2、二代“边算边比较Map聚合”版 3.3、三代“边算边比较数组索引定位”版 4、总结 1、省钱攻略基础之“了解平台红包使用规则” 规则一&#x…

论文分享[cvpr2018]Non-local Neural Networks非局部神经网络

论文 https://arxiv.org/abs/1711.07971 代码https://github.com/facebookresearch/video-nonlocal-net 非局部神经网络 motivation:受计算机视觉中经典的非局部均值方法[4]的启发&#xff0c;非局部操作将位置的响应计算为所有位置的特征的加权和。 非局部均值方法 NLM&#…

C++之初阶模板

个人主页&#xff1a;救赎小恶魔 欢迎大家来到小恶魔频道 好久不见&#xff0c;甚是想念 今天我们要深入讲述C内存管理 目录 引言&#xff1a; 模板 1. 泛型编程 2. 模板函数 2.1函数模板的原理 2.2模板函数的实例化 2.3函数模板的匹配 3.类模板 STL STL 的主要组…

HackMyVM-Slowman

目录 信息收集 arp nmap whatweb WEB web信息收集 gobuster FTP匿名登录 hydra mysql爆破 mysql登录 fcrackzip爆破 hashcat爆破 ssh登录 提权 系统信息收集 python Capabilities提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interf…

svg画扇形进度动画

有人问下面这种图好怎么画&#xff1f;svg 想了下&#xff0c;确实用svg可以&#xff0c;可以这么设计 外层是一个容器放置内容&#xff0c;并且设置overflow:hidden&#xff0c; 内层放一个半径大于容器宽高一半的svg&#xff0c;并定位居中&#xff0c;然后svg画扇形&#x…

Spring Task及订单状态定时处理

1&#xff1a;Spring Task概念&#xff1a; Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑 定时任务的理解 定时任务即系统在特定时间执行一段代码&#xff0c;它的场景应用非常广泛&#xff1a; 购买游戏的月卡会员后&a…