QT day3

发布于:2024-09-18 ⋅ 阅读:(128) ⋅ 点赞:(0)

代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QIcon>
#include <QPixmap>
#include<QLineEdit>
#include<QCheckBox>
#include <QPushButton>
#include <QFrame>
#include<QMessageBox>
#include<QTextEdit>
#include <QColor>
#include<QColorDialog>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    QLabel *lb1;
    QLabel *lb2;
    QLabel *lb3;
    QLabel *lb4;

    QLineEdit *le1;
    QLineEdit *le2;
    QCheckBox *cb1;
    QCheckBox *cb2;
    QPushButton *btn1;
    QPushButton *btn2;
    QPushButton *btn3;
    QPushButton *btn4;

    QFrame *frame;
    QTextEdit *te;
    QPushButton *btn5;



};
#endif // MAINWINDOW_H
#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    this->resize(430,330);
    this->move(this->x()+750,this->y()+350);
    this->setWindowIcon(QIcon("://icon/1.png"));
    this->setFixedSize(430,330);
    this->setWindowTitle("QQ");
    this->lb1 = new QLabel(this);
    this->lb2 = new QLabel(this);
    this->lb3 = new QLabel(this);

    lb1->resize(430,130);
    lb1->setScaledContents(true);
    lb1->setPixmap(QPixmap("://icon/2.png"));

    this->le1 = new QLineEdit(this);
    this->le2 = new QLineEdit(this);

    le1->move(100,150);    //移动位置
    le1->resize(250,30);
    le2->move(100,le1->y()+le1->height()+10);
    lb2->resize(25,30);
    lb3->resize(25,30);
    lb2->setScaledContents(true);
    lb3->setScaledContents(true);
    lb2->move(70,150);
    lb3->move(70,190);
    lb3->setPixmap(QPixmap("://icon/3.jpg"));
    lb2->setPixmap(QPixmap("://icon/1.png"));
    le2->resize(250,30);
    le2->setEchoMode(QLineEdit::Password);

    this->cb1 =new QCheckBox(this);
    this->cb2 =new QCheckBox(this);
    cb1->setText("自动登录");
    cb2->setText("记住密码");
    cb1->move(77,230);
    cb2->move(150,230);

    this->btn1 = new QPushButton("注册账号",this);
    this->btn2 = new QPushButton("登录",this);
    this->btn3 = new QPushButton("找回密码",this);
    btn3->move(250,230);
    btn1->resize(70,30);
    btn2->resize(140,30);
    btn2->move(77,270);
    btn2->setStyleSheet("background-color:skyblue; border-radius:3;");
    btn3->setStyleSheet("QPushButton { background-color: rgba(255, 255, 255,0); }");

    btn1->move(7,300);
    btn1->setStyleSheet("QPushButton { background-color: rgba(255, 255, 255,0); }");

    this-> lb4= new QLabel(this);
    lb4->setPixmap(QPixmap("://icon/3.png"));
    lb4->move(390,295);
    lb4->setStyleSheet("QPushButton { background-color: rgba(255, 255, 255,0); }");

    this->btn4 = new QPushButton("关闭",this);
    btn4->resize(140,30);
    btn4->move(220,270);
    btn4->setStyleSheet("background-color:skyblue; border-radius:3;");

    this->frame=new QFrame(this);
    frame->resize(430,330);
    frame->close();

    this->te=new QTextEdit(frame);
    te->resize(430,200);
    frame->setStyleSheet("background-color:rgba(27,233,199,255);");


    this->btn5 = new QPushButton("颜色",frame);
    btn5->resize(140,30);
    btn5->move(220,270);







    //btn2登录  btn4取消
    connect(this->btn2,&QPushButton::clicked,[&]()
    {
        if(le1->text()==le2->text())
        {
            QMessageBox box( QMessageBox::Information,//图标
                             "登录信息",          //对话框标题
                             "登录成功!!!",             //对话框内容
                             QMessageBox::Ok, //提供的按钮
                             this); //父组件)
            int res= box.exec();
            if(res ==QMessageBox::Ok)
            {
                frame->show();
            }
        }else
        {
            QMessageBox box(QMessageBox::Warning,
                            "登录信息",
                            "账号或密码错误",
                            QMessageBox::Yes|QMessageBox::No,
                            this );
            int res=box.exec();
            if(res==QMessageBox::Yes)
            {
                le1->clear();
                le2->clear();
            }else if(res==QMessageBox::No)
            {
                close();
            }
        }

    });
    connect(this->btn4,&QPushButton::clicked,[&]()
    {
        int res= QMessageBox::question(this,
                                       "请问",
                                       "是否关闭QQ",
                                       QMessageBox::Yes|QMessageBox::No,
                                       QMessageBox::Yes);
        if(res == QMessageBox::Yes)
        {
            close();
        }
    });

    connect(this->btn5,&QPushButton::clicked,[&]()
    {
        QColor c= QColorDialog::getColor("white",frame,"请选择颜色");\
        if(c.isValid()){
            //表示用户选中了颜色
            //将当前选中的颜色,放到文本编辑器上
            //this->te->setTextColor(c);        //设置字体 前景色
            this->te->setTextBackgroundColor(c);      //设置字体背景色
        }else
        {
            //表示用户没有选择颜色
            QMessageBox::information(this,"提示","您没有选择颜色");
        }
    });



}

MainWindow::~MainWindow()
{
}