您的位置:首页 > 编程语言 > Qt开发

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

2017-03-26 20:02 579 查看
由于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_OBJECT

public:
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arm qt zigbee