需求
根据提供的用户原型设计、ui设计、通讯协议研发便携式致病菌快速检测仪器软件。
100%还原ui。
相关博客
《案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)》
《案例分享:Qt多段Y轴折线图框架(双Y轴段折线、支持拽拖、浮动游标显示X值各段Y值、支持大量实时显示下位机数据)》
《案例分享:Qt便携式致病菌快速检测仪(账号管理、实验过程、二维图表、历史数据、通讯管理、实验报告、中英文等等)》
《案例分享:Qt多通道数据采集系统(通道配置、电压转换、采样频率、通道补偿值、定时采集、导出excel和图表、自动XY轴、隐藏XY轴、实时隐藏显示通道)》
《Qt开发笔记之QCustomPlot:QCustomPlot介绍、编译与使用》
基本主功能(推荐visio:★★★☆☆,前期主流程需求整理)
Demo v1.8.0
蓝湖Ui原型(推荐蓝湖:★★★★★,产品经理需求-ui设计界面-研发角色间的“零沟通成本”工具,拥有PS插件具备一键上传功能)
头文件源码
HeSuanCheckWidget.h
#ifndef HESUANCHECKWIDGET_H #define HESUANCHECKWIDGET_H #include <QWidget> #include <QThread> #include <QDebug> #include <QTimer> #include <QButtonGroup> #include <QMenu> #include "SerialPortManager.h" #include "ConfigWidget.h" #include "HistoryWidget.h" #include "QuickStartWidget.h" #include "TestProtocalWidget.h" #include "UserManagerWidget.h" #include "LoginWidget.h" #include "DatabaseManager.h" #include "RunWidget.h" #include "TemplateManager.h" #include "AdvanceWidget.h" #include "UserAdvanceManagerWidget.h" #include "ReportWidget.h" #include "AboutDialog.h" #define LOG qDebug()<<__FILE__<<__LINE__ namespace Ui { class HeSuanCheckWidget; } class HeSuanCheckWidget : public QWidget { Q_OBJECT public: explicit HeSuanCheckWidget(QWidget *parent = 0); ~HeSuanCheckWidget(); UserInfo getUserInfo() const; ExpriInfo getExpriInfo() const; void setExpriInfo(const ExpriInfo &expriInfo); protected slots: void slot_recvFromSerialPort(QByteArray byteArray); // 接收串口数据 void slot_updateUserInfo(); protected: void loadCfg(); void saveCfg(); void showLogined(bool login); // 切换登录界面(主要是header需要调整) protected slots: // 界面切换信号 void slot_login(UserInfo userInfo); void slot_switchToLoginWidget(); void slot_switchToQuickWidget(); void slot_switchToHistoryWidget(); void slot_switchToConfigWidget(); void slot_switchToTestProtocalWidget(); void slot_switchToTemplateManager(); void slot_switchToUserManagerWidget(); void slot_switchToRunWidget(); void slot_switchToAdvaneWidget(); void slot_switchToUserAdvanceManagerWidget(); void slot_switchToReportWidget(ExpriInfo expriInfo); void slot_showFullScreenRunWidget(); // 全屏显示 void slot_showNormalRunWidget(); // 非全屏显示 protected slots: void slot_menuTriggered(QAction *pAction); protected: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); private slots: void on_pushButton_close_clicked(); void on_pushButton_min_clicked(); void on_pushButton_menu_clicked(); void on_pushButton_menu2_clicked(); void on_pushButton_min2_clicked(); void on_pushButton_close2_clicked(); private: Ui::HeSuanCheckWidget *ui; QButtonGroup *_pButtonGroup; QThread *_pSerialPortManagerThread; SerialPortManager *_pSerialPortManager; QuickStartWidget *_pQuickStartWidget; HistoryWidget *_pHistoryWidget; ConfigWidget *_pConfigWidget; TestProtocalWidget *_pTestProtocalWidget; UserManagerWidget *_pUserManagerWidget; LoginWidget *_pLoginWidget; RunWidget *_pRunWidget; TemplateManager *_pTemplateManager; AdvanceWidget *_pAdvanceWidget; UserAdvanceManagerWidget *_pUserAdvanceManagerWidget; ReportWidget *_pReportWidget; QMenu *_pMenu; QMenu *_pMenu2; QAction *_pActionPrint; QAction *_pActionLanguage; QAction *_pActionConfig; QAction *_pActionUpgrade; QAction *_pActionAbout; QAction *_pActionAbout2; QAction *_pActionLogout; QAction *_pActionModifyPassword; QPoint _beginPoint; QPoint _leftTopPoint; bool _leftButtonPressed; UserInfo _userInfo; // 当前登录的用户信息 ExpriInfo _expriInfo; // 当前实验的实验信息(当实验名称为空,则表示当前没有实验) QString _cfgFile; }; #endif // HESUANCHECKWIDGET_H