Qt作业合集

发布于:2024-08-17 ⋅ 阅读:(156) ⋅ 点赞:(0)

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();
    }
}


网站公告

今日签到

点亮在社区的每一天
去签到