实验室智能管理系统(2)——Arm+QT部分(一)

来源:互联网 发布:python 实现http接口 编辑:程序博客网 时间:2024/06/07 03:38

由于QT本身不自带arm的串口函数,用了别人写的串口函数添加到QT工程中。从网上下载qextserialport-1.2win-alpha.zip
将posix_qextserialport.h、qextserialbase.h两个头文件添加到工程

登录界面
这里写图片描述

图中的按键变色效果:改变样式表 QPushButton { background-color: rgb(0, 170, 255); border-radius: 3px; color: rgb(255, 255, 255); } QPushButton:hover { background-color: rgb(245, 69, 234); }

safegate.h

#ifndef SAFEGATE_H#define SAFEGATE_H#include <QDialog>#include <QProgressDialog>namespace Ui {    class Safegate;}class Safegate : public QDialog{    Q_OBJECTpublic:    explicit Safegate(QWidget *parent = 0);    ~Safegate();    QString pwd;    void delay();signals:    void ask_for_wakeup();private slots:    void on_num1_clicked();    void on_num2_clicked();    void on_num3_clicked();    void on_num4_clicked();    void on_num5_clicked();    void on_num6_clicked();    void on_num7_clicked();    void on_num8_clicked();    void on_num9_clicked();    void on_num0_clicked();    void on_del_clicked();    void on_enter_clicked();private:    Ui::Safegate *ui;};#endif // SAFEGATE_H

safegate.cpp

#include "safegate.h"#include "ui_safegate.h"Safegate::Safegate(QWidget *parent) :    QDialog(parent),    ui(new Ui::Safegate){    ui->setupUi(this);    this->setMaximumSize(800,500);    this->setMinimumSize(800,500);    this->setWindowFlags(Qt::FramelessWindowHint);}Safegate::~Safegate(){    delete ui;}void Safegate::on_num1_clicked(){    pwd.append(tr("1"));    ui->lcd->setText(pwd);}void Safegate::on_num2_clicked(){    pwd.append(tr("2"));    ui->lcd->setText(pwd);}void Safegate::on_num3_clicked(){    pwd.append(tr("3"));    ui->lcd->setText(pwd);}void Safegate::on_num4_clicked(){    pwd.append(tr("4"));    ui->lcd->setText(pwd);}void Safegate::on_num5_clicked(){    pwd.append(tr("5"));    ui->lcd->setText(pwd);}void Safegate::on_num6_clicked(){    pwd.append(tr("6"));    ui->lcd->setText(pwd);}void Safegate::on_num7_clicked(){    pwd.append(tr("7"));    ui->lcd->setText(pwd);}void Safegate::on_num8_clicked(){    pwd.append(tr("8"));    ui->lcd->setText(pwd);}void Safegate::on_num9_clicked(){    pwd.append(tr("9"));    ui->lcd->setText(pwd);}void Safegate::on_num0_clicked(){    pwd.append(tr("0"));    ui->lcd->setText(pwd);}void Safegate::on_del_clicked(){    pwd.chop(1);    ui->lcd->setText(pwd);}void Safegate::on_enter_clicked(){    if(pwd == "000000")    {        QProgressDialog dialog(NULL,NULL, 0, 50, this);        dialog.setWindowTitle(tr(""));        dialog.setWindowModality(Qt::WindowModal);        dialog.setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏        dialog.show();        for(int k = 0; k < 50; k++)        {            dialog.setValue(k);            QCoreApplication::processEvents();            if(dialog.wasCanceled())            {                break;            }        }        dialog.setValue(50);        pwd.clear();        ui->lcd->setText(pwd);        emit ask_for_wakeup();    }    else    {        pwd.clear();        pwd = QString(tr("密码错误"));        ui->lcd->setText(pwd);        pwd.clear();    }}void Safegate::delay(){    QProgressDialog dialog(NULL,NULL, 0, 50, this);    dialog.setWindowTitle(tr(""));    dialog.setWindowModality(Qt::WindowModal);    dialog.setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏    dialog.show();    for(int k = 0; k < 50; k++)    {        dialog.setValue(k);        QCoreApplication::processEvents();        if(dialog.wasCanceled())        {            break;        }    }    dialog.setValue(50);}
0 0
原创粉丝点击