营销型网站建设工资,sem网站做推广,外链系统,wordpress更改ip地址后图片处理作业#xff1a;
1】 思维导图
2】 在登录界面的登录取消按钮进行以下设置#xff1a;
使用手动连接#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中#xff0c;在自定义的槽函数中调用关闭函数
将登录按钮使用qt5版本的连接到自定义的槽函数中
1】 思维导图
2】 在登录界面的登录取消按钮进行以下设置
使用手动连接将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中在自定义的槽函数中调用关闭函数
将登录按钮使用qt5版本的连接到自定义的槽函数中在槽函数中判断ui界面上输入的账号是否为admin密码是否为123456,如果账号密码匹配成功则输出“登录成功”并关闭该界面弹出另一个界面。如果匹配失败则输出登录失败并将密码框中的内容清空
3】 自己完成一个使用qss的登陆窗口界面【资源文件的添加、qss语法】。
已更新12.29题目为新增功能代码
untitled.pro
QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES \main.cpp \second.cpp \widget.cppHEADERS \second.h \widget.hFORMS \second.ui \widget.ui# Default rules for deployment.
qnx: target.path /tmp/$${TARGET}/bin
else: unix:!android: target.path /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS targetRESOURCES \ppppp.qrcwidget.h
#ifndef WIDGET_H
#define WIDGET_H#include QWidget
#include QPushButton
#include QMessageBoxQT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();signals:void my_jump();//第一个界面准备的信号private slots:void on_pushButton_2_clicked();void on_pushButton_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_Hsecond.h
#ifndef SECOND_H
#define SECOND_H#include QWidgetnamespace Ui {
class Second;
}class Second : public QWidget
{Q_OBJECTpublic:explicit Second(QWidget *parent nullptr);~Second();public slots:void jump_slot();//第二个界面准备的槽函数声明private:Ui::Second *ui;
};#endif // SECOND_Hmain.cpp
#include widget.h
#include second.h
#include QApplicationint main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();//实例化第二界面Second s;QObject::connect(w,Widget::my_jump,s,Second::jump_slot);return a.exec();
}widget.cpp
#include widget.h
#include ui_widget.h
#include QDebug
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget){ui-setupUi(this);//去掉标题纯净模式this-setWindowFlag(Qt::FramelessWindowHint);//去掉空白部分this-setAttribute(Qt::WA_TranslucentBackground);connect(ui-pushButton,SIGNAL(clicked()),this,SLOT(my_slot()));
}Widget::~Widget()
{delete ui;
}
//基于静态成员函数版本
void Widget::on_pushButton_2_clicked()
{int ret QMessageBox::question(this,问题对话框,您是否确认要退出登录?,QMessageBox::Yes|QMessageBox::No);if(retQMessageBox::Yes){this-close();}else{}
}void Widget::on_pushButton_clicked()
{if(ui-lineEdit-text()adminui-lineEdit_2-text()123456){//基于基本属性版本QMessageBox msg(QMessageBox::Information,信息对话框,登录成功,QMessageBox::Ok,this);//调用exec()弹出信息对话框int ret msg.exec();//if(ret QMessageBox::Ok){this-close();emit my_jump();}}else{//基于静态成员函数版本int ret QMessageBox::critical(this,错误对话框,账号和密码不匹配是否重新登录,QMessageBox::Yes|QMessageBox::No,QMessageBox::Yes);if(ret QMessageBox::Yes){ui-lineEdit-clear();ui-lineEdit_2-clear();}else{this-close();}qDebug()登录失败;}
}second.cpp
#include second.h
#include ui_second.hSecond::Second(QWidget *parent) :QWidget(parent),ui(new Ui::Second)
{ui-setupUi(this);//去掉标题纯净模式this-setWindowFlag(Qt::FramelessWindowHint);//去掉空白部分this-setAttribute(Qt::WA_TranslucentBackground);
}Second::~Second()
{delete ui;
}//第二个界面来准备的槽函数实现
void Second::jump_slot()
{//显示this-show();
}