8.14作业
设置窗口,按钮,标签,行编辑器,实现快递速运登录页面
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
//=============================窗口=======================
//设置窗口的标题
this->setWindowTitle("邮递系统");
//设置窗口的图标
this->setWindowIcon(QIcon("C:\\Users\\ASUS\\Desktop\\picture\\tubiao.png"));
//设置窗口背景颜色
this->setStyleSheet("background-color:white");
//设置窗口大小
this->resize(540,415);
//固定窗口大小
this->setFixedSize(540,415);
//设置纯净窗口,去掉头部
this->setWindowFlag(Qt::FramelessWindowHint);
//=============================标签=======================
//创建账号标签
QLabel *lab1 = new QLabel(this);
//背景颜色
lab1->setStyleSheet("background-color:red");
//大小
lab1->resize(30,30);
//移动
lab1->move(100,200);
//设置图片
lab1->setPixmap(QPixmap("C:\\Users\\ASUS\\Desktop\\picture\\userName.jpg"));
//设置图片自适应
lab1->setScaledContents(true);
//创建密码标签
QLabel *lab2 = new QLabel(this);
//背景颜色
lab2->setStyleSheet("background-color:red");
//大小
lab2->resize(30,30);
//移动
lab2->move(100,250);
//设置图片
lab2->setPixmap(QPixmap("C:\\Users\\ASUS\\Desktop\\picture\\passwd.jpg"));
//设置图片自适应
lab2->setScaledContents(true);
//设置头部动图
QLabel *lab3 = new QLabel(this);
lab3->resize(540,160);
//实例化一个动图指针
QMovie *mv = new QMovie("C:\\Users\\ASUS\\Desktop\\picture\\feiji.gif");
//将动图设置到标签中
lab3->setMovie(mv);
//让动图动起来
mv->start();
lab3->setScaledContents(true);
//=============================行编辑器=======================
//账号行编辑器
QLineEdit *edit1 = new QLineEdit(this);
//大小
edit1->resize(280,30);
//移动
edit1->move(150,200);
//占位
edit1->setPlaceholderText("账号");
//显示模式
edit1->setEchoMode(QLineEdit::Normal);
//密码行编辑器
QLineEdit *edit2 = new QLineEdit(this);
edit2->resize(280,30);
edit2->move(150,250);
edit2->setPlaceholderText("密码");
edit2->setEchoMode(QLineEdit::Normal);
//=============================按钮======================
//创建按钮
QPushButton *btn1 = new QPushButton("登录",this);
//大小
btn1->resize(315,40);
//移动按钮
btn1->move(115,310);
//设置背景颜色,字体颜色,设置圆角
btn1->setStyleSheet("background-color:rgb(31,200,250);color:white;border-radius:5px");
}
MyWidget::~MyWidget()
{
}
8.16作业
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QMovie>
#include <QString>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
Ui::Widget *ui;
private slots:
void login_slot();
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->logoLabel->setPixmap(QPixmap(":/picture/feiji.gif"));
ui->logoLabel->setScaledContents(true);
//实例化一个动图指针
QMovie *mv = new QMovie(":/picture/feiji.gif");
//将动图设置到标签中
ui->logoLabel->setMovie(mv);
//让动图动起来
mv->start();
ui->usernameLabel->setPixmap(QPixmap(":/picture/login.png"));
ui->usernameLabel->setScaledContents(true);
ui->passwordLabel->setPixmap(QPixmap(":/picture/passwd.jpg"));
ui->passwordLabel->setScaledContents(true);
ui->passwordEdit->setEchoMode(QLineEdit::Password);
//qt4 不友好的链接
connect(ui->cancelButton,SIGNAL(clicked()),this,SLOT(close()));
//基于qt5的手动连接,友好的连接
connect(ui->LoginButton,&QPushButton::clicked,this,&Widget::login_slot);
}
Widget::~Widget()
{
delete ui;
}
void Widget::login_slot()
{
if(ui->usernameEdit->text()=="admin" && ui->passwordEdit->text()=="123456")
{
qDebug() << "登录成功";
this->close();
}
else
{
qDebug() << "登录失败";
ui->passwordEdit->clear();
}
}