目录
一、功能
二、代码
三、结果
功能
在原界面账户登录。
登录成功后跳转到另一界面实现照片查看,并显示其路径。
一、设置界面名字及图标
this->setWindowTitle("登录界面");
this->setWindowIcon(QIcon("D:/qt/images/edit.ico"));
二、密码验证
void Widget::on_pushButton_clicked()
{
//密码验证
if(ui->lineEdit->text() == tr("123456") && ui->lineEdit_2->text() == tr("0000"))
{
//界面跳转
Dialog a;
a.exec();
}
else
{
QMessageBox::warning(this,tr("warning!"),tr("username or passport is warning!"));
}
}
三、显示照片及其路径
void Dialog::on_pushButton_2_clicked()
{
//路径查找
QString fileName = QFileDialog::getOpenFileName(this,"Open File",QDir::currentPath(),"D:/qt/images(*.jpg)");
//判空
if(fileName.isEmpty())
return;
//显示照片
ui->label_2->setText("fileName");
QPixmap pimax;
pimax.load(fileName);
ui->label_2->setPixmap(pimax);
ui->label_2->setScaledContents(true);
ui->pushButton->setText(fileName);//照片路径
}
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QFileDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = nullptr);
~Dialog();
private slots:
void on_pushButton_2_clicked();
private:
Ui::Dialog *ui;
};
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
#include <QString>
#include <QDebug>
#include <QMessageBox>
#include <QFileDialog>
#include <QFontDialog>
#include <QPalette>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
//界面名字及图标设置
this->setWindowTitle("图片查看器");
this->setWindowIcon(QIcon("D:/qt/images/past.ico"));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_2_clicked()
{
//路径查找
QString fileName = QFileDialog::getOpenFileName(this,"Open File",QDir::currentPath(),"D:/qt/images(*.jpg)");
//判空
if(fileName.isEmpty())
return;
//显示照片
ui->label_2->setText("fileName");
QPixmap pimax;
pimax.load(fileName);
ui->label_2->setPixmap(pimax);
ui->label_2->setScaledContents(true);
ui->pushButton->setText(fileName);//照片路径
}
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QMessageBox>
#include <QSettings>
#include <QFile>
#include <QCryptographicHash>
#include "dialog.h"
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include "QMessageBox"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//界面名字及图标设置
this->setWindowTitle("登录界面");
this->setWindowIcon(QIcon("D:/qt/images/edit.ico"));
//登录密码设置
ui->lineEdit_2->setEchoMode(QLineEdit::Password);
QObject::connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_clicked()));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
//密码验证
if(ui->lineEdit->text() == tr("123456") && ui->lineEdit_2->text() == tr("0000"))
{
//界面跳转
Dialog a;
a.exec();
}
else
{
QMessageBox::warning(this,tr("warning!"),tr("username or passport is warning!"));
}
}
mian.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
结果