#上位机开发大师之路# 管理员登陆模块开发

1. Create Project

从今天开始,我们开始我们的上位机开发大师之路。

首先我们要先创建我们的第一个工程。文件->新建文件或项目或者使用快捷键Ctrl+N。

  这里我们选择Application->Qt WidgetsApplication。

 

  

  下一步之后我们要给我们的项目起一个名字,这里我起名叫做serialport,选择我们的项目路径,需要注意的是项目路径这里不允许有中文,如果有中文项目构建过程中会报错。

 

下一步选择编译器,由于在昨天的环境搭建中,我只安装了MinGw一种编译环境,所以这里也只有这一个Desktop Qt 5.10.0 MinGW32 bit,如果你在之前的安装过程中还选择了其他编译器的话,这里会显示多个编译器。

 

下一步,基类我们选择QWidget,类名改为login。原因是因为我想在串口调试助手的基础上添加管理员登陆的安全验证,所以我们以login作为我们的初始界面。(这里我忘记改了-。-||)

 

创建完成后我们发现Qt自动生成了cpp文件和头文件,到这一步我们的项目初创成功。

2.  创建多窗口

双击Forms文件夹下的ui文件,我们在用户界面上添加我们需要用到的组件。

  我要实现的功能是当用户输入正确的口令,点击Log in时,我们这个程序才会跳转到串口工具的界面,点击Cancel直接退出程序。

2.1 Cancel功能

  我们从最简单的开始,实现Cancel的关闭功能。

  实现关闭功能,不需要敲代码,我们只需要在Signals & Slots Editor手动选择一下就好了。

  发送者是Cancel这个pushButton的对象名,信号选择clicked(),接收者选择Widget,槽函数选择close()。这样就实现了Cancel功能。

2.2  Log in功能

  我们要实现登陆功能,首先我们要另外创建一个界面(usr),当我们从Login界面输入账号密码,验证正确后,即可进入usr界面操作,所以我们先来看一下创建新界面的步骤。

  文件->新建文件或项目

  这个类可以帮助我们在创建窗口程序的基础上将cpp文件和头文件一起创建出来。

  之后,选择Dialogwithout Buttons,按键什么的我们自己添加就可以了。

  然后我们起个名,就叫usr好了。

  之后下一步、下一步…就可以完成创建了。

3.  用户验证

  下面我们来做用户验证的部分,从现在开始就要开始敲代码了,右键Login按键,选择转到槽,然后选择clicked(),按键事件的函数Qt就为我们自动创建好了。

  首先我们要在login.h里创建usr窗口的对象。

#ifndef LOGIN_H
#define LOGIN_H

#include <QWidget>
#include "usr.h"

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
    usr *Usr=new usr;

};

#endif // LOGIN_H


  接下来的代码要执行的操作就是验证账号密码,如果正确则跳转usr窗口,如果不正确,发出警告。另外,我们不管平时用QQ还是用微信登陆,密码都是不显示的小黑点,这里我们也设置一下。

#include "login.h"
#include "ui_login.h"
#include "QMessageBox"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->password->setEchoMode(QLineEdit::Password);//当输入密码时,显示为*******
}

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

void Widget::on_pushButton_clicked()
{
/*
    this->hide();
    Usr->show();
*/


    if(this->ui->usrname->text().trimmed() == tr("admin") &&
           this->ui->password->text().trimmed()== tr("root"))  //去除lineEdit内的用户名和密码进行校验
        {
            //登陆成功后显示对话框
            this->hide();
            Usr->show();


        }
        else
        {
            //用户输入存在错误
            QMessageBox::warning(this,tr("waring"),tr("your passward is wrong"),QMessageBox::Yes);
            ui->usrname->clear();  //清空姓名usrname
            ui->password->clear();  //清空密码passward
            ui->usrname->setFocus();  //将鼠标重新定位到usrname
        }
}


我们Ctrl+B构建运行一下

插入栓插入...
解放播放传导系统 准备接续...
探针插入 完毕
神经同调装置在基准范围内
第一次接触...
插入栓注水...
主电源连接完毕...
开始进行第二次接触...
交互界面连接...
思考形态以中文作为基准,进行思维连接...
连接没有异常
同步率为 1000.0000%%
第一锁定器解除...
第二锁定器解除...
移往播放口...

  密码正确--->跳转usr窗口

  密码错误--->警告

 

  至此,登陆界面完结撒花~

 

  Hello World

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: STM32是一种基于ARM Cortex-M内核的微控制器系列,这个系列的芯片很适合用来开发各种嵌入式系统,包括那些需要使用USB HID协议的系统。通过使用STM32的开发板搭载hid下位机的C程序,用户可以轻松地实现让计算机与其他USB设备进行通信。 在使用STM32 HID下位机 C的过程中,需要考虑如何设计USB HID协议,并使用C语言编写固件代码。其中,USB HID协议设计包括多种事项,如定义HID报文格式、支持设备描述符、输入和输出报告描述符等。 使用STM32开发板进行嵌入式开发需要一定的硬件和软件支持。硬件方面需要选择合适的开发板、以及其他外设(如LED、显示屏、电机等),以实现对外友好的应用程序。软件方面,需要使用开发板上提供的IDE软件和相应的驱动程序,这些软件提供了丰富的API和函数库,能够使开发人员轻松地使用C语言进行编程。 总之,通过使用STM32 HID下位机 C,开发人员可以快速、高效地设计和实现USB HID应用程序,从而满足各种嵌入式系统的需求。无论是在智能家居、智能交通、智能医疗等领域,这种技术都发挥了广泛的作用。 ### 回答2: STM32是意法半导体(STMicroelectronics)推出的一种基于ARM Cortex-M架构的微处理器系列,其中包括了丰富的外围设备,如模拟和数字IO、通信接口、USB和LCD控制器等。HID是Human Interface Device的缩写,即人机接口设备,在USB开发中常用的一种设备类型。作为下位机,STM32可以通过USB接口作为HID设备被主机识别,实现与计算机之间的通信。 在C语言中,使用STM32开发HID下位机需要掌握相关的硬件驱动和USB协议。首先需要选择适合的STM32芯片,并配置其GPIO和时钟等硬件资源。同时,需要编写USB传输协议的代码,实现在上位机和下位机之间的数据通信。具体来说,需要编写USB的描述符、配置文件、报文解析等程序,以及相应的数据交换机制。最后,需要开发上位机的应用程序,按照HID协议和下位机的数据交换格式进行通信。 总之,STM32作为一种强大的处理器平台,结合USB技术和HID协议,可以实现丰富的人机交互和数据交换功能。掌握这种硬件和软件开发技术,能够对电子信息等行业的产品设计和开发提供很好的支持。 ### 回答3: STM32 是意法半导体公司(STMicroelectronics)推出的一款32位微控制器,具有高性能、低功耗、易开发等特点。而 HID (Human Interface Device)则是人机接口设备的缩写,是 USB 设备的一类,用于实现人机交互,例如键盘、鼠标、游戏手柄等。 在STM32中,HID下位机是指通过USB接口与上位机通信,实现USB设备的数据传输和人机交互功能。而C语言则是常用的编程语言之一,用于编写STM32的底层驱动程序和应用程序。 在STM32 HID下位机 C开发中,需要了解USB协议和USB HID协议,掌握底层驱动程序的开发和编写上位机通信协议的能力。一般来说,开发 HID 设备需要使用 USB HID类库和 USB驱动程序,其中,USB HID类库是基于USB协议开发的,支持USB HID协议,可用于实现HID设备的功能,例如 USB键盘、鼠标、游戏手柄等。 在实际开发中,开发人员需要根据具体需求选择合适的开发板和开发环境,例如Keil MDK、IAR Embedded Workbench等,同时需要掌握C语言编程和常见的通信协议(例如UART、SPI、I2C等),以便开发出高效稳定的STM32 HID下位机。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值