QTday 3

#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_bit1_clicked()
{
    bool ok=false;//1:调用字体对话框,用于选择字体
    QFont f=QFontDialog::getFont(&ok,//返回用户是否选择了字体
                                 QFont("宋体",10,10,true),//对话框初始字体
                                 this,//父组件
                                 "选择字体");//对话框标题
    //使用选中的字体
    if(ok)
    {
        ui->textEdit->setCurrentFont(f);//将选中的字体应用于文本中
    }

}
//颜色按钮对应的槽函数
void Widget::on_bit2_clicked()
{
    QColor c=QColorDialog::getColor(QColor("red"),//初始颜色
                                    this,//父组件
                                    "选择颜色");//颜色对话框标题
    //当前用户点击选中颜色,那么c就是合法颜色,如果点击取消,c不是合法颜色。
    if(c.isValid()==true)
    {
        //使用颜色
        ui->textEdit->setTextColor(c);//将颜色应用选中的字体文本

    }
}
//保存文件按钮对应的槽函数
void Widget::on_bit3_clicked()
{
    //调用静态成员团函数,调出文件对话框,让用户选择要打开的文件
    QString fileName=QFileDialog::getOpenFileName(this,//父组件
                                                  "选择文件",//父组件对话框对应的标题
                                                  "./",//起始路径
                                                  "all(*.*);;images(*.jog *.png *.gif);;源文件::(*.cpp)");
    qDebug() <<fileName;
    //文件操作
    //1:通过文件路径实例化一个文件对象
    QFile file(fileName);
    if(file.open(QFile::ReadOnly)==false)
    {
        QMessageBox::information(this,
                                 "提示",
                                 "文件打开失败");

        return;
    }
    //读取文件中的内容
    QByteArray msg=file.readAll();
    //将读取来的数据,展示到文件编辑器中
    ui->textEdit->setText(msg);
    file.close();
}
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //设置窗口大小
       this->resize(449,662);
       //固定窗口大小
       this->setFixedSize(449,662);
       //纯净化窗口,去掉头部
       this->setWindowFlag(Qt::FramelessWindowHint);
       //将窗口背景设置成纯白色
       this->setStyleSheet("background-color:white");
       //创建第一个标签
       QLabel *lab=new QLabel(this);
       //设置标签大小
       lab->resize(448,271);
       //动图类,接受动图
       QMovie *mv=new QMovie("C:\\Users\\Lime-zzh\\Pictures\\Saved Pictures\\qq.gif");
      //将动图插入到标签中
       lab->setMovie(mv);
      //让动图动起来
       mv->start();
       //让插入到动图适应标签
       lab->setScaledContents(true);
       //创建第二个标签
       QLabel *lab1=new QLabel(this);
       lab1->resize(60,60);
       //设置图片
       lab1->setPixmap(QPixmap("C:\\Users\\Lime-zzh\\Pictures\\Saved Pictures\\tubiao.jpg"));
      //让标签处于合适的位置
       lab1->move(48,272);
       //设置图片和标签相适应
       lab1->setScaledContents(true);
       //创建第三个标签
       QLabel *lab2=new QLabel(this);
       lab2->resize(50,50);
       lab2->setPixmap(QPixmap("C:\\Users\\Lime-zzh\\Pictures\\Saved Pictures\\passwd.jpg"));
       lab2->move(48,371);
       lab2->setScaledContents(true);
       //创建第一个行编辑器
       edit=new QLineEdit(this);
       edit->resize(478,50);
       edit->move(103,272);
       //在行编译器里添加提示,设置占位
       edit->setPlaceholderText("微信号/手机号");
       //创建第二个编译器
       edit1=new QLineEdit(this);
       edit1->resize(478,50);
       edit1->move(103,367);
       edit1->setPlaceholderText("密码");
       //将编译器输入改成密码输入格式
       edit1->setEchoMode(QLineEdit::Password);
       //创建按钮
       butt=new QPushButton("登陆",this);
       butt->resize(340,60);
       butt->move(103,477);
       //设置按钮背景色和设置按钮形状和颜色
       butt->setStyleSheet("background-color:rgb(207,115,69);border-radius:6px;color:white");
       butt1=new QPushButton(this);
       butt1->resize(30,30);
       butt1->move(406,23);
       butt1->setIcon(QIcon("C:\\Users\\Lime-zzh\\Pictures\\Saved Pictures\\cancel.png"));

       connect(edit,&QLineEdit::textChanged,this,&Widget::myslot);
       connect(edit1,&QLineEdit::textChanged,this,&Widget::myslot);
       connect(butt1,&QPushButton::clicked,this,&Widget::clicked);
       connect(butt,&QPushButton::clicked,[&]()
       {
           if(edit->text()=="Admin" && edit1->text()=="123456")
           {
               qDebug() << "登陆成功";
               int res=QMessageBox::information(this,"登陆","登陆成功",QMessageBox::Ok,QMessageBox::Ok);
               if(res==QMessageBox::Ok)
               {
                   emit jump();
                   this->close();
               }


           }
           else
           {
               qDebug() <<"账号密码错误";
               QMessageBox box(QMessageBox::Critical,"错误","登陆失败,是否重新登陆",QMessageBox::Ok|QMessageBox::No,this);
               box.setButtonText(QMessageBox::No,"no");
               box.setButtonText(QMessageBox::Ok,"yes");
               int rec=box.exec();
               if(rec==QMessageBox::Ok)
               {
                   edit->clear();
                   edit1->clear();
               }
               else if(rec==QMessageBox::No)
               {
                   this->close();
               }

           }
       });





}

Widget::~Widget()
{
    delete ui;
}
void Widget::myslot()
{
    if(edit->text().size()>=5 && edit1->text().size()>=5)
    {
        butt->setStyleSheet("background-color:green");
        butt->setEnabled(true);

    }
    else
    {
        butt->setStyleSheet("background-color:red");
        butt->setEnabled(false);
    }
}

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

    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值