嵌入式:QT Day2

这篇具有很好参考价值的文章主要介绍了嵌入式:QT Day2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

嵌入式:QT Day2,qt,数据库,开发语言

 一、继续完善登录框,当登陆成功时,关闭登陆页面,跳转到新的界面中

嵌入式:QT Day2,qt,数据库,开发语言

源码:

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>           //用于打印输出
#include <QIcon>            //图标头文件
#include <QPushButton>      //按钮类头文件
#include <QLineEdit>        //行编辑器类
#include <QLabel>           //标签文件

class Widget : public QWidget
{
    Q_OBJECT

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

    //标签类
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;

    //行编辑器类
    QLineEdit *edit1;
    QLineEdit *edit2;

    //按钮类
    QPushButton *btn1;
    QPushButton *btn2;

    //自定义信号
signals:
    void jump();   //跳转信号

public slots:
    void cancel_slot();
    void login_slot();

};
#endif // WIDGET_H

second.h

#ifndef SECOND_H
#define SECOND_H

#include <QWidget>
#include <QDebug>           //用于打印输出
#include <QIcon>            //图标头文件
#include <QPushButton>      //按钮类头文件
#include <QLineEdit>        //行编辑器类
#include <QLabel>           //标签文件


namespace Ui {
class Second;
}

class Second : public QWidget
{
    Q_OBJECT

public:
    explicit Second(QWidget *parent = nullptr);
    ~Second();

    //标签类
    QLabel *lab1;

public slots:
    void jump_slot();

private:
    Ui::Second *ui;
};

#endif // SECOND_H

widget.cpp

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //设置整体大小、标题及图标
    this->setFixedSize(700, 600);
    this->setWindowTitle("IKUN真爱小屋❤");
    this->setWindowIcon(QIcon(":/icon/1.jpeg"));
    this->setWindowOpacity(0.95);              //设置透明度

    //设置Logo标签
    lab1 = new QLabel(this);
    lab1->resize(700,200);
    lab1->setPixmap(QPixmap(":/icon/2.JPG"));
    lab1->setScaledContents(true);         //设置内容自适应

    //设置用户和密码所图标
    lab2 = new QLabel(this);
    lab2->resize(50,50);
    lab2->setPixmap(QPixmap(":/icon/username.png"));
    lab2->setScaledContents(true);
    lab2->move(150,260);

    lab3 = new QLabel(this);
    lab3->resize(50,50);
    lab3->setPixmap(QPixmap(":/icon/passwd.jpg"));
    lab3->setScaledContents(true);
    lab3->move(150,360);

    //设置行编辑器
    edit1 = new QLineEdit(this);
    edit1->resize(190, 40);
    edit1->move(280, 265);
    edit1->setStyleSheet("border : none; "
                         "border-bottom: 2px solid grey;");
    edit1->setPlaceholderText("账号:");

    edit2 = new QLineEdit(this);
    edit2->resize(190, 40);
    edit2->move(280, 365);
    edit2->setStyleSheet("border : none; "
                         "border-bottom: 2px solid grey;");
    edit2->setPlaceholderText("密码:");
    edit2->setEchoMode(QLineEdit::Password);

    //设置按钮 登录
    btn1 = new QPushButton(this);
    btn1->setText("登录");
    btn1->resize(130,40);
    btn1->move(150, 490);
    btn1->setIcon(QIcon(":/icon/login.png"));
    //手动将登录与自定义的槽函数进行连接,该连接是友好的连接qt-5
    connect(btn1, &QPushButton::clicked, this, &Widget::login_slot);

    //设置按钮 取消
    btn2 = new QPushButton(this);
    btn2->setText("取消");
    btn2->resize(130,40);
    btn2->move(440, 490);
    btn2->setIcon(QIcon(":/icon/cancel.png"));
    //手动将取消按钮的clicked信号与自定义的槽函数进行连接-qt4
    connect(btn2, SIGNAL(clicked()), this, SLOT(cancel_slot()));

}

Widget::~Widget()
{
}

//自定义槽函数的实现
void Widget::cancel_slot(){
    this->close();
}

//自定义槽函数的实现
void Widget::login_slot(){
    if(this->edit1->text() == "admin" && this->edit2->text() == "123456"){
        qDebug() << "登陆成功!";
        emit jump();           //发射跳转函数信号
        this->close();
    }else{
        qDebug() << "登陆失败,请重新登录!";
        this->edit2->clear();
    }
}

second.cpp

#include "second.h"
#include "ui_second.h"

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);

    //整体设置
    this->setWindowTitle("登录成功提示");
    this->setWindowIcon(QIcon(":/icon/3.jpeg"));

    //设置跳转标签
    lab1 = new QLabel(this);
    lab1->setText("登陆成功!");
    lab1->resize(390,300);
    lab1->setAlignment(Qt::AlignCenter);
}

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

//跳转槽信号
void Second::jump_slot()
{
    this->show();
}

main.cpp

#include "widget.h"
#include "second.h"
#include <QApplication>

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();
}

二、新建一个工程文件,将默认提供的代码注释

嵌入式:QT Day2,qt,数据库,开发语言

嵌入式:QT Day2,qt,数据库,开发语言

嵌入式:QT Day2,qt,数据库,开发语言

嵌入式:QT Day2,qt,数据库,开发语言

三、思维导图

嵌入式:QT Day2,qt,数据库,开发语言

 文章来源地址https://www.toymoban.com/news/detail-609523.html

 

到了这里,关于嵌入式:QT Day2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式数据库之SQLite

    1.SQLite简介 轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据 库用于管理多端设备,更加复杂。 SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库,这意味着数据库引擎作 为应用程序的一部分运行。 My

    2024年02月15日
    浏览(36)
  • 嵌入式数据库之sqlite3

            数据:能够输入计算机并能被计算机程序识别和处理的信息集合。         数据库:数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合。 1.大型数据库         Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作

    2024年02月10日
    浏览(47)
  • 【嵌入式数据库之sqlite3】

    目录 一.数据库基本概念(理解) 1.数据 2.数据库 二.常用的数据的数据库(了解) 1.大型数据库 2.中型数据库 3.小型数据库 三.基于嵌入式的数据库(了解) 四.SQLite基础(了解) 五.创建数据库(熟练) 1.手工创建 2.代码创建 六.SQLite编程接口 七.代码示例(学生管理系统) 八

    2024年02月09日
    浏览(45)
  • 10.1 嵌入式数据库之sqlite3

    【1】数据库    1, 数据库的安装        sudo dpkg -i  *.deb    2, 数据库命令:       1)系统命令 , 都以\\\'.\\\'开头          .exit           .quit          .table   查看表          .schema  查看表的结构                  2)sql语句, 都以‘;’结尾         1-- 创建一张表

    2024年02月12日
    浏览(38)
  • lv9 嵌入式开发 数据库sqlite

    数据(Data)               能够输入计算机并能被计算机程序识别和处理的信息集合 数据库 (Database)             数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合 大型数据库 Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广

    2024年02月05日
    浏览(48)
  • Python - 嵌入式数据库Sqlite3的基本使用

    SQLite是一种轻量级的嵌入式关系型数据库管理系统,而Python标准库中提供了与SQLite交互的模块,sqlite3。下面是一个Python 3中使用sqlite3模块的详细示例与解析。 这个例子展示了如何使用sqlite3模块来创建或连接一个数据库,创建一个表格,插入一些数据,查询数据,提交更改并

    2024年02月15日
    浏览(38)
  • 嵌入式数据库:SQLite3的安装和使用说明

    目录 一,SQLite简介 ① SQLite与传统服务器型数据库 ② SQLite与MySQL比较 ③ 基于嵌入式的数据库种类 二,SQLite数据库安装 ① 输入命令安装 ② 网页安装 ● 安装步骤 三,SQLite命令用法 ● 创建一个数据库 ● 创建一张表格 ● 插入一条记录 ● 查看数据库的记录 ● 删除一条

    2024年01月21日
    浏览(72)
  • 一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库

    今天给大家分享一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库:LiteDB。本篇文章主要是介绍LiteDB和在.NET中如何使用。 LiteDB 是一个小巧、快速和轻量级的 .NET NoSQL 嵌入式数据库。 无服务器的 NoSQL 文档存储 简单的 API,类似于 MongoDB 100% 的 C# 代码支持 .NET 4.5 / NETStandard 1.

    2024年02月02日
    浏览(34)
  • 嵌入式QT (Qt 信号与槽)

    因为有了信号与槽的编程机制,在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。 信号 (Signal)就是在特定情况下被发射的事件。 GUI 程序设计的主要内容就是对界面上各组件的信号的响应,只需要知道什么情况下发射哪些信号,合理地去响应和处理这些信号就

    2024年02月02日
    浏览(41)
  • 嵌入式Qt 第一个Qt项目

    打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项   弹出New Project对话框,选择Qt Widgets Application 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,按照向导进行下一步   选择编译套件 向导会默认添加一个继承自QMainWindow的类,可

    2024年02月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包