#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)
{
}
}