網(wǎng)站做好了前端 后端怎么做自建站模板
嵌入式學(xué)習(xí)-qt-Day3
一、思維導(dǎo)圖
二、作業(yè)
完善對(duì)話框,點(diǎn)擊登錄對(duì)話框,如果賬號(hào)和密碼匹配,則彈出信息對(duì)話框,給出提示”登錄成功“,提供一個(gè)Ok按鈕,用戶點(diǎn)擊Ok后,關(guān)閉登錄界面,跳轉(zhuǎn)到其他界面
如果賬號(hào)和密碼不匹配,彈出錯(cuò)誤對(duì)話框,給出信息”賬號(hào)和密碼不匹配,是否重新登錄“,并提供兩個(gè)按鈕Yes|No,用戶點(diǎn)擊Yes后,清除密碼框中的內(nèi)容,繼續(xù)讓用戶進(jìn)行登錄,如果用戶點(diǎn)擊No按鈕,則直接關(guān)閉登錄界面
如果用戶點(diǎn)擊取消按鈕,則彈出一個(gè)問(wèn)題對(duì)話框,給出信息”您是否確定要退出登錄?“,并給出兩個(gè)按鈕Yes|No,用戶迪納基Yes后,關(guān)閉登錄界面,用戶點(diǎn)擊No后,關(guān)閉對(duì)話框,繼續(xù)執(zhí)行登錄功能
要求:基于屬性版和基于靜態(tài)成員函數(shù)版至少各用一個(gè)
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QMessageBox>
#include <QMouseEvent>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);setAttribute(Qt::WA_TranslucentBackground); //去掉空白部分setWindowFlag(Qt::FramelessWindowHint,1);//去掉標(biāo)題欄
}Widget::~Widget()
{delete ui;
}//窗口可移動(dòng)
void Widget::mousePressEvent(QMouseEvent *e)
{if(e->button() == Qt::LeftButton){//求坐標(biāo)差值//當(dāng)前點(diǎn)擊坐標(biāo)-窗口左上角坐標(biāo)p = e->globalPos() - this->frameGeometry().topLeft();}
}
void Widget::mouseMoveEvent(QMouseEvent *e)
{if(e->buttons() & Qt::LeftButton){//移到左上角move(e->globalPos() - p);}}
void Widget::on_pushButton_clicked()
{if (ui->lineEdit->text() == "admin" && ui->lineEdit_2->text() == "123456"){//基于靜態(tài)成員函數(shù)版本QMessageBox::information(this, "提示", "登陸成功", QMessageBox::Ok);emit jump();close();}else{//基于屬性版本QMessageBox msg(QMessageBox::Critical, "登錄失敗", "賬號(hào)和密碼不匹配 是否重新登陸", QMessageBox::Yes | QMessageBox::No);int ret = msg.exec();if (ret ==QMessageBox::Yes){ui->lineEdit_2->clear();}else{this->close();}}
}
second.cpp
#include "second.h"
#include "ui_second.h"second::second(QWidget *parent) :QWidget(parent),ui(new Ui::second)
{ui->setupUi(this);
}second::~second()
{delete ui;
}void second::jump_slot()
{this->show();
}
main.cpp
#include "widget.h"#include <QApplication>
#include "second.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();second s;QObject::connect(&w, &Widget::jump, &s, &second::jump_slot);return a.exec();
}
運(yùn)行結(jié)果
主界面
登陸成功
登陸成功跳轉(zhuǎn)頁(yè)面
登錄失敗