0
点赞
收藏
分享

微信扫一扫

QT-图片浏览器(显示器)的实现(含登录界面)

一、设计要求

1、登录界面

​ 创建一个窗体,设计用户登录的界面(含有用户名、密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名、密码数据并与数据库中的数据进行匹配,若用户名,密码正确则登录成功,否则登录失败。

2、功能主界面

​ 功能主界面需要具备显示打开的文件路径和文件名的功能,并且可以选择需要打开的图片并显示到此界面上。

二、具体实现过程

1、图片演示

登录界面展示

功能界面展示

在这里插入图片描述

功能界面所需组件

2、详细代码实现

主函数 man.c
#include "dialog.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

(1)登录界面代码实现

1.dialog.cpp: (登录界面.cpp文件)
#include "dialog.h"
#include "ui_dialog.h"
#include "zhu.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    this->setWindowTitle("LoginInterface");    //设置登录界面标题
    this->setWindowIcon(QIcon(":/pikapika.ico"));  //设置登录标题图像
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::on_login_clicked()
{
    if((ui->lineEdit->text() == "ZW") && (ui->lineEdit_2->text() == "123456"))  //判断账号和密码
    {
    close();  //进入功能界面并关闭登录界面
    zhu obj;
    obj.exec();  //进入功能界面
    }
}

void Dialog::on_regi_clicked()  //注册功能没有实现,点击注册则是关闭登录界面
{
    reject();  //拒绝
    //close();
}
		
2. dialog.h: (登录界面头文件)
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QDebug>

namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    
private slots:
    void on_login_clicked();
    void on_regi_clicked();
private:
    Ui::Dialog *ui;
};

#endif // DIALOG_H

(2)功能界面代码实现

1.zhu.c (功能界面.cpp文件)
#include "zhu.h"
#include "ui_zhu.h"
#include <QFileDialog>
#include <QDebug>
zhu::zhu(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::zhu)
{
    ui->setupUi(this);
    this->resize(463,603);  //设置界面大小属性
    this->setWindowTitle("PicturrBrowser"); //设置界面标题
    this->setWindowIcon(QIcon(":/zhujiemian.ico"));  //设置界面标题图标 ,双引号内为图片地址
}

zhu::~zhu()
{
    delete ui;
}

void zhu::on_pushButton_clicked()
{
    QString filename = QFileDialog::getOpenFileName(this,
                                                    "Picture Browser",
                                                    QDir::currentPath(),
                                                    "所有图片(*.emf;*.wmf;*.jpg;*.jpeg;*.jpe;*.png;*.bmp;*.gif;*.tif;*.tiff;*.wdp;*.svg)"
                                                    );  //打开一个消息框 选择图片 第二个参数为打开地址,用此参数为当前路径
    if(filename.isEmpty())
           return;
    ui->lineEdit->setText(filename);  //将获取的文件名写到单行文本框上

    //label显示图片
    QPixmap pixmap;//保存图片像素点
    pixmap.load(filename);//加载图片
    ui->label->setPixmap(pixmap);//显示图片
    ui->label->setScaledContents(true);//内容自适应
}
2.zhu.h (功能界面.h 头文件)
#ifndef ZHU_H
#define ZHU_H

#include <QDialog>

namespace Ui {
class zhu;
}

class zhu : public QDialog
{
    Q_OBJECT

public:
    explicit zhu(QWidget *parent = 0);
    ~zhu();

private slots:
    void on_pushButton_clicked();

private:
    Ui::zhu *ui;
};

#endif // ZHU_H

三、总结(博主有话要bb~~)

​ 此项目是通过QT采用c++的编程语言编写,具体代码含义和逻辑思路代码注释中已经交代清楚,如果有想深入了解的好兄弟可以通过评论或者私信我哦~

​ 账号和密码可以预先写入源代码中,也可以通过注册按钮设置槽函数,将注册的账号密码用数据库存储,在登录时用获取的账号密码与数据库中的数据进行比对。

​ 由于篇幅有限(博主水平有限Q-Q),在本实验中采用事先预设账号密码的形式,方便大家了解,具体的注册功能将会在后面的博客中更新,大家可以三连加关注,博主会更新更多的好玩的知识给大家分享哟~

举报

相关推荐

0 条评论