diff --git a/src/tpMain/ProgressView.cpp b/src/tpMain/ProgressView.cpp index e91d94f..78f5a81 100644 --- a/src/tpMain/ProgressView.cpp +++ b/src/tpMain/ProgressView.cpp @@ -11,10 +11,10 @@ ProgressView::ProgressView(QWidget* parent) m_pProgressDialog = new QProgressDialog(parent); connect(m_pProgressDialog, SIGNAL(canceled()), this, SIGNAL(cancel())); - m_pProgressDialog->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); - m_pProgressDialog->setWindowIcon(QIcon(":/resource/logo-8.png")); - m_pProgressDialog->setWindowModality(Qt::ApplicationModal); - m_pProgressDialog->setAttribute(Qt::WA_ShowModal, true); +// m_pProgressDialog->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); +// m_pProgressDialog->setWindowIcon(QIcon(":/resource/logo-8.png")); +// m_pProgressDialog->setWindowModality(Qt::ApplicationModal); +// m_pProgressDialog->setAttribute(Qt::WA_ShowModal, true); } ProgressView::ProgressView(QString strTitle, QString strLabel, int nMax, QString strIcon) diff --git a/src/userCtrl/QLoginDlg.cpp b/src/userCtrl/QLoginDlg.cpp index b23754d..721045a 100644 --- a/src/userCtrl/QLoginDlg.cpp +++ b/src/userCtrl/QLoginDlg.cpp @@ -71,31 +71,30 @@ Q_SLOT void QLoginDlg::OnClicked() if (strUser.isEmpty()) { - QString strText = QString("

%1< / span>< / p>< / body>< / html>").arg(tr("用户名不能为空!!!")); - QMessageBox::information(this, tr("错误警告"), strText, QMessageBox::Ok); + QString strText = QObject::tr("

用户名不能为空!!!< / span>< / p>< / body>< / html>"); + QMessageBox::information(this, QObject::tr("错误警告"), strText, QMessageBox::Ok); return; } if (password.isEmpty()) { - QString strText = QString("

%1< / span>< / p>< / body>< / html>").arg(tr("密码不能为空!!!")); - QMessageBox::information(this, tr("错误警告"), strText, QMessageBox::Ok); + QString strText = QObject::tr("

密码不能为空!!!< / span>< / p>< / body>< / html>"); + QMessageBox::information(this, QObject::tr("错误警告"), strText, QMessageBox::Ok); return; } int nLevel = 0; if (_pUserDB->Login(strUser, password, nLevel)) { - QString strText = QString("

%1< / span>< / p>< / body>< / html>").arg(tr("登录成功")); + QString strText = QObject::tr("

登录成功< / span>< / p>< / body>< / html>"); _pUserDB->CurUser(); _PasswdLineEdit->clear(); emit(sgLogin(strUser, nLevel)); - accept(); } else { - QString strText = QString("

%1< / span>< / p>< / body>< / html>").arg(tr("密码错误!!!")); - QMessageBox::information(this, tr("错误警告"), strText, QMessageBox::Ok); + QString strText = QObject::tr("

密码错误!!!< / span>< / p>< / body>< / html>"); + QMessageBox::information(this, QObject::tr("错误警告"), strText, QMessageBox::Ok); } } else if (strObj == "login_Logoutpb") { diff --git a/src/userCtrl/QLoginDlg.h b/src/userCtrl/QLoginDlg.h index 906381e..167d910 100644 --- a/src/userCtrl/QLoginDlg.h +++ b/src/userCtrl/QLoginDlg.h @@ -1,10 +1,10 @@ -#ifndef _QLOGINDLG_H_ +#ifndef _QLOGINDLG_H_ #define _QLOGINDLG_H_ #include #include "ui_QLoginDlg.h" #include "QUserDB.h" -//登录窗口 +//¼ class QLoginDlg : public QDialog { Q_OBJECT diff --git a/src/userCtrl/QLoginModify.h b/src/userCtrl/QLoginModify.h index 5f642e7..8905af2 100644 --- a/src/userCtrl/QLoginModify.h +++ b/src/userCtrl/QLoginModify.h @@ -1,4 +1,4 @@ -#ifndef _LOGINMODIFY_H_ +#ifndef _LOGINMODIFY_H_ #define _LOGINMODIFY_H_ #include diff --git a/src/userCtrl/QUserAddNew.cpp b/src/userCtrl/QUserAddNew.cpp index 1eaaf0e..a777f13 100644 --- a/src/userCtrl/QUserAddNew.cpp +++ b/src/userCtrl/QUserAddNew.cpp @@ -68,22 +68,22 @@ Q_SLOT void QUserAddNew::onSlotOK() QString passwd2 = ui.m_Passwd2_lineEdit->text(); if (strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("用户名不能为空!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("用户名不能为空!")); return; } if (passwd1.isEmpty()|| passwd2.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("密码不能为空!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("密码不能为空!")); return; } if (m_strList.contains(strName)) { - QMessageBox::warning(this, tr("错误警告"), tr("该用户已存在,请另起名字!!!!!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("该用户已存在,请另起名字!!!!!")); return; } if (passwd1 != passwd2) { - QMessageBox::warning(this, tr("错误警告"), tr("两次输入的密码不一致,请重新输入密码!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("两次输入的密码不一致,请重新输入密码!")); return; } m_userInfo.mLevel = ui.m_Power_comboBox->itemData(ui.m_Power_comboBox->currentIndex()).toInt(); diff --git a/src/userCtrl/QUserAddNew.h b/src/userCtrl/QUserAddNew.h index 776869f..faf76ff 100644 --- a/src/userCtrl/QUserAddNew.h +++ b/src/userCtrl/QUserAddNew.h @@ -1,4 +1,4 @@ -#ifndef _QUSERADDNEW_H_ +#ifndef _QUSERADDNEW_H_ #define _QUSERADDNEW_H_ #include @@ -12,11 +12,11 @@ public: QUserAddNew(QWidget *parent = Q_NULLPTR); ~QUserAddNew(); - void SetFilterList(QStringList &strList);//用户名列表 用于查找重复字符 - void setUserInfo(UserInfo &userInfo);//新添加的用户 或需要修改的用户 - void setCurrentUser(UserInfo &userInfo);//当前登录的用户 用于根据权限显示对应的信息 + void SetFilterList(QStringList &strList);//ûб ڲظַ + void setUserInfo(UserInfo &userInfo);//ӵû Ҫ޸ĵû + void setCurrentUser(UserInfo &userInfo);//ǰ¼û ڸȨʾӦϢ void setTitle(QString str); - UserInfo getUserInfo();//或许新添加的用户信息 + UserInfo getUserInfo();//ӵûϢ Q_SLOT void onSlotOK(); Q_SLOT void onSlotCancle(); Q_SLOT void onSetDefaultPwd(); diff --git a/src/userCtrl/QUserBase.h b/src/userCtrl/QUserBase.h index d2d5d8e..580bd50 100644 --- a/src/userCtrl/QUserBase.h +++ b/src/userCtrl/QUserBase.h @@ -1,9 +1,8 @@ -#ifndef _USER_BASE_H_ +#ifndef _USER_BASE_H_ #define _USER_BASE_H_ #include #include #include -#pragma execution_character_set("utf-8") typedef struct tag_CustomUserInfo { QString strName; QString passwd; @@ -31,20 +30,18 @@ enum USER_LEVEL typedef QMap map_userInfos; static const QMap sc_level = { - { USER_LEVEL_ADM, QObject::tr("Administrator") }, - { USER_LEVEL_OPT, QObject::tr("operator") }, - { USER_LEVEL_FULL, QObject::tr("SuperRoot") } + { USER_LEVEL_ADM, QString::fromLocal8Bit("Ա") }, + { USER_LEVEL_OPT, QString::fromLocal8Bit("Ա") }, + { USER_LEVEL_FULL, QString::fromLocal8Bit("Ա") } }; -// const QString strAdministrator = QObject::tr("Administrator"); -// const QString stroperator = QObject::tr("operator"); -// const QString strSuperRoot = QObject::tr("SuperRoot"); -class IUserCtrl:public QObject { + +class IUserCtrl : public QObject { Q_OBJECT public: IUserCtrl() {}; ~IUserCtrl() {}; - virtual void CheckLogin() =0; - virtual void ShowUserMgrDlg() = 0; + virtual void CheckLogin(QWidget* parent = nullptr) =0; + virtual void ShowUserMgrDlg(QWidget* parent = nullptr) = 0; virtual void LogOutUser() =0; virtual QString CurUser() = 0; virtual int CurUserLevel() = 0; diff --git a/src/userCtrl/QUserCtrl.cpp b/src/userCtrl/QUserCtrl.cpp index 5c98da8..b4edc5a 100644 --- a/src/userCtrl/QUserCtrl.cpp +++ b/src/userCtrl/QUserCtrl.cpp @@ -61,17 +61,20 @@ QUserCtrl::~QUserCtrl() } } -void QUserCtrl::CheckLogin() +void QUserCtrl::CheckLogin(QWidget* parent) { - QStringList strList = _pUserDBSqlite->Users(-1); _LoginDlg->AddItems2List(strList); + _LoginDlg->setParent(parent); + _LoginDlg->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); _LoginDlg->show(); } -void QUserCtrl::ShowUserMgrDlg() +void QUserCtrl::ShowUserMgrDlg(QWidget* parent) { QDesktopWidget* desktop = QApplication::desktop();// + _pDlgUsersMgr->setParent(parent); + _pDlgUsersMgr->setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); _pDlgUsersMgr->move((desktop->width() - _pDlgUsersMgr->width()) / 2, (desktop->height() - _pDlgUsersMgr->height()) / 2); _pDlgUsersMgr->SetUserAndLevel(_CurrentUserName, m_nLevel); _pDlgUsersMgr->OnUpdateUserList(); diff --git a/src/userCtrl/QUserCtrl.h b/src/userCtrl/QUserCtrl.h index 1bbe7f3..97f4eaf 100644 --- a/src/userCtrl/QUserCtrl.h +++ b/src/userCtrl/QUserCtrl.h @@ -13,8 +13,8 @@ public: QUserCtrl(QWidget* parent = 0); ~QUserCtrl(); - void CheckLogin(); - void ShowUserMgrDlg(); + void CheckLogin(QWidget* parent = nullptr); + void ShowUserMgrDlg(QWidget* parent = nullptr); void LogOutUser(); QString CurUser() { return _CurrentUserName; } //当前登录用户的用户名 int CurUserLevel() { return m_nLevel; } //当前登录用户的等级 @@ -25,8 +25,8 @@ public: QString _CurrentUserName; int m_nLevel{ 0 }; LogIndState m_State{ EM_LOGOUT }; -signals: - void sgCurrentUserInfo(QString userName, int level,int state); +//signals: +// void sgCurrentUserInfo(QString userName, int level,int state); private: QWidget* m_pMainWnd{ nullptr }; QUserDB* _pUserDBSqlite{ nullptr }; diff --git a/src/userCtrl/QUserManagerDlg.cpp b/src/userCtrl/QUserManagerDlg.cpp index 515d821..8d72576 100644 --- a/src/userCtrl/QUserManagerDlg.cpp +++ b/src/userCtrl/QUserManagerDlg.cpp @@ -5,7 +5,7 @@ #pragma execution_character_set("utf-8") QString levelName(int nLevel) { - QString strLevel = "无用户"; + QString strLevel = QString("无用户"); if (sc_level.contains(nLevel)) strLevel = sc_level[nLevel]; return strLevel; @@ -19,7 +19,7 @@ QUserManagerDlg::QUserManagerDlg(QUserDB* pLogic) setWindowFlags(Qt::WindowCloseButtonHint); setWindowIcon(QIcon(":/userinfo")); QStringList headerList; - headerList << tr("用户名") << tr("等级"); + headerList << QObject::tr("用户名") << QObject::tr("等级"); plistModel = QSharedPointer(new QStandardItemModel); plistModel->setHorizontalHeaderLabels(headerList); ui.tableView->setModel(plistModel.data()); @@ -41,7 +41,7 @@ void QUserManagerDlg::SetUserAndLevel(QString strName, int level) m_level = level; ui.label_UserName->setText(m_strName); if (m_strName.isEmpty()) - ui.label_UserName->setText(tr("未登录")); + ui.label_UserName->setText(QObject::tr("未登录")); ui.label_Status->setText(""); } @@ -50,16 +50,17 @@ void QUserManagerDlg::onAddUser() { if (m_strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("你还没登录,请登录或请联系管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你还没登录,请登录或请联系管理员!")); return; } if (m_level <= 1) { - QMessageBox::warning(this, tr("错误警告"), tr("你当前没有权限添加用户,请登录!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你当前没有权限添加用户,请登录!")); return; } - QUserAddNew dlg; - dlg.setTitle(tr("添加新用户")); + QUserAddNew dlg(this); + dlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + dlg.setTitle(QObject::tr("添加新用户")); UserInfo info; info.mLevel = m_level; info.strName = m_strName; @@ -71,7 +72,7 @@ void QUserManagerDlg::onAddUser() UserInfo m_userInfo = dlg.getUserInfo(); if (m_pUserDB->Replace(m_userInfo.strName, m_userInfo.passwd, m_userInfo.mLevel)) { - ui.label_Status->setText(tr("%1 添加完成!!!").arg(m_userInfo.strName)); + ui.label_Status->setText(QObject::tr("%1 添加完成!!!").arg(m_userInfo.strName)); OnUpdateUserList(); } } @@ -86,29 +87,29 @@ void QUserManagerDlg::onDelUser() QString strName = data.toString(); if (m_strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("你还没登录,请登录或请联系管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你还没登录,请登录或请联系管理员!")); return; } if (strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("请选中你要删除的用户!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("请选中你要删除的用户!")); return; } if (strName == "root") { - QMessageBox::warning(this, tr("错误警告"), tr("你当前没有权限删除root用户,请联系超超级管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你当前没有权限删除root用户,请联系超超级管理员!")); return; } if (strName == m_strName) { - QMessageBox::warning(this, tr("错误警告"), tr("你当前没有权限删除自己的账户,请联系管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你当前没有权限删除自己的账户,请联系管理员!")); return; } - if (QMessageBox::Ok ==QMessageBox::warning(this, tr("错误警告"), tr("确定删除用户: %1 ?").arg(strName), QMessageBox::Cancel | QMessageBox::Ok, QMessageBox::Cancel)) + if (QMessageBox::Ok == QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("确定删除用户: %1 ?").arg(strName), QMessageBox::Cancel | QMessageBox::Ok, QMessageBox::Cancel)) { if (m_pUserDB->Delete(strName)) { - ui.label_Status->setText(tr("%1 已删除!").arg(strName)); + ui.label_Status->setText(QObject::tr("%1 已删除!").arg(strName)); OnUpdateUserList(); } } @@ -124,16 +125,17 @@ void QUserManagerDlg::onModifyUser() QString strName = data.toString(); if (m_strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("你还没登录,请登录或请联系管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你还没登录,请登录或请联系管理员!")); return; } if (strName.isEmpty()) { - QMessageBox::warning(this, tr("错误警告"), tr("你没有选中需要修改的用户,请联系管理员!")); + QMessageBox::warning(this, QObject::tr("错误警告"), QObject::tr("你没有选中需要修改的用户,请联系管理员!")); return; } - QUserAddNew dlg; - dlg.setTitle(tr("修改用户信息")); + QUserAddNew dlg(this); + dlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + dlg.setTitle(QObject::tr("修改用户信息")); UserInfo info; info.mLevel = m_level; info.strName = m_strName; @@ -145,7 +147,7 @@ void QUserManagerDlg::onModifyUser() UserInfo m_userInfo = dlg.getUserInfo(); if (m_pUserDB->Replace(m_userInfo.strName, m_userInfo.passwd, m_userInfo.mLevel)) { - ui.label_Status->setText(tr("%1 修改完成!!!").arg(m_userInfo.strName)); + ui.label_Status->setText(QObject::tr("%1 修改完成!!!").arg(m_userInfo.strName)); OnUpdateUserList(); } } @@ -158,7 +160,7 @@ void QUserManagerDlg::OnUpdateUserList() int i = 0; plistModel->clear(); QStringList headerList; - headerList << tr("用户名") << tr("职位")<setHorizontalHeaderLabels(headerList); for each(UserInfo item in v) diff --git a/src/userCtrl/QUserManagerDlg.h b/src/userCtrl/QUserManagerDlg.h index daa393a..3c29e04 100644 --- a/src/userCtrl/QUserManagerDlg.h +++ b/src/userCtrl/QUserManagerDlg.h @@ -1,4 +1,4 @@ -#ifndef _QUSERMANAGERDLG_H_ +#ifndef _QUSERMANAGERDLG_H_ #define _QUSERMANAGERDLG_H_ #include diff --git a/src/userCtrl/QUserManagerDlg.ui b/src/userCtrl/QUserManagerDlg.ui index f17b136..8ea6b32 100644 --- a/src/userCtrl/QUserManagerDlg.ui +++ b/src/userCtrl/QUserManagerDlg.ui @@ -9,8 +9,8 @@ 0 0 - 515 - 396 + 501 + 286 diff --git a/src/userCtrl/Resources/app.png b/src/userCtrl/Resources/app.png new file mode 100644 index 0000000..b2bc426 Binary files /dev/null and b/src/userCtrl/Resources/app.png differ diff --git a/src/userCtrl/Resources/app2.png b/src/userCtrl/Resources/app2.png new file mode 100644 index 0000000..d47d80d Binary files /dev/null and b/src/userCtrl/Resources/app2.png differ diff --git a/src/userCtrl/Resources/hzleaper.ico b/src/userCtrl/Resources/hzleaper.ico new file mode 100644 index 0000000..91859fc Binary files /dev/null and b/src/userCtrl/Resources/hzleaper.ico differ diff --git a/src/userCtrl/quserinfo_global.h b/src/userCtrl/quserinfo_global.h index 1eb0287..dfa08e7 100644 --- a/src/userCtrl/quserinfo_global.h +++ b/src/userCtrl/quserinfo_global.h @@ -1,10 +1,12 @@ -#ifndef _QUSERINFO_GLOBAL_H_ +#ifndef _QUSERINFO_GLOBAL_H_ #define _QUSERINFO_GLOBAL_H_ #include #include "QUserBase.h" +//#include "vld.h" + #ifndef BUILD_STATIC -# if defined(QUSERINFO_LIB)//动态库 +# if defined(QUSERINFO_LIB)//̬ # define QUSERINFO_EXPORT Q_DECL_EXPORT # else # define QUSERINFO_EXPORT Q_DECL_IMPORT @@ -19,10 +21,10 @@ typedef IUserCtrl* (*_UserCtrlCreate)(); /* -使用方法: -添加global头文件 +ʹ÷ +globalͷļ -QLibrary lib("UserInfo");//库文件名 +QLibrary lib("UserInfo");//ļ _UserCtrlCreate func = (_UserCtrlCreate)lib.resolve("UserCtrlCreate"); IUserCtrl m_pUserCtrl = func(); */ diff --git a/src/userCtrl/userinfo.qrc b/src/userCtrl/userinfo.qrc new file mode 100644 index 0000000..c611af2 --- /dev/null +++ b/src/userCtrl/userinfo.qrc @@ -0,0 +1,5 @@ + + + Resources/app.png + + diff --git a/tpvs17/QUserInfo/userinfo.qrc b/tpvs17/QUserInfo/userinfo.qrc index 3181d28..c759e1f 100644 --- a/tpvs17/QUserInfo/userinfo.qrc +++ b/tpvs17/QUserInfo/userinfo.qrc @@ -1,6 +1,5 @@ - Resources/hzleaper.ico Resources/logo-8.png diff --git a/tpvs17/tpMain/QModelMgrDlg.cpp b/tpvs17/tpMain/QModelMgrDlg.cpp index 03175df..034f31d 100644 --- a/tpvs17/tpMain/QModelMgrDlg.cpp +++ b/tpvs17/tpMain/QModelMgrDlg.cpp @@ -58,9 +58,9 @@ QModelMgrDlg::QModelMgrDlg(IWheelCtrl *ptr, QWidget *parent) m_trainOneTsk->loadfunc(this, &QModelMgrDlg::TrainOneTskFunc); - m_pProgressView = new ProgressView(this); - m_pProgressView->setUseCancel(true); - connect(m_pProgressView, SIGNAL(cancel()), this, SLOT(onProgassCancel())); +// m_pProgressView = new ProgressView(this); +// m_pProgressView->setUseCancel(true); +// connect(m_pProgressView, SIGNAL(cancel()), this, SLOT(onProgassCancel())); //m_pProgressView->finish(); connect(this, SIGNAL(sgPrograssShow(QString, QString, int, int)), this, SLOT(onPrograssShow(QString, QString, int, int))); connect(this, SIGNAL(sgShowMsg(QString)), this, SLOT(onShowMessage(QString))); diff --git a/tpvs17/tpMain/lpMainWin.cpp b/tpvs17/tpMain/lpMainWin.cpp index 6d22b94..d2c7dcc 100644 --- a/tpvs17/tpMain/lpMainWin.cpp +++ b/tpvs17/tpMain/lpMainWin.cpp @@ -12,6 +12,7 @@ #include "qnettickthread.h" #include "QMessageBox" #include "ChannelInfo.h" +#include "HubBase.h" #pragma execution_character_set("utf-8") lpMainWin::lpMainWin(QWidget *parent) @@ -51,7 +52,42 @@ lpMainWin::lpMainWin(QWidget *parent) QString strLangeage = languageSetting.value("language", "Chinese").toString(); SetLanguage(strLangeage); } + { + m_pLbCurrentTime = new QLabel(tr("ϵͳʱ")); + m_pLbBanci = new QLabel(tr("Ϣ")); + m_pLbDetectState = new QLabel(tr("״̬")); + m_pLbUser = new QLabel(tr("û")); + + QFont m_font; + m_font.setBold(true); + m_font.setPixelSize(12); + + m_pLbCurrentTime->setFont(m_font); + m_pLbCurrentTime->setMinimumHeight(40); + m_pLbCurrentTime->setMinimumWidth(200); + m_pLbCurrentTime->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + + m_pLbBanci->setMinimumWidth(200); + m_pLbBanci->setFont(m_font); + m_pLbBanci->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + m_pLbDetectState->setMinimumWidth(200); + m_pLbDetectState->setFont(m_font); + m_pLbDetectState->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + //m_pLbOnLine = new class QLabel("ģʽ"); + //m_pLbOnLine->setMinimumWidth(c_nWidth); + + m_pLbUser->setFont(m_font); + m_pLbUser->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui.statusBar->addWidget(m_pLbDetectState, 1); + ui.statusBar->addWidget(m_pLbUser, 1); + ui.statusBar->addWidget(m_pLbBanci); + ui.statusBar->addPermanentWidget(m_pLbCurrentTime); + } //ûģ loadUserModel(); //ʼģ͹ģ @@ -169,6 +205,8 @@ lpMainWin::lpMainWin(QWidget *parent) connect(m_pCtrl, SIGNAL(sgModelChanged()), m_pTableCheck, SLOT(updateModels())); m_pTableCheck->setModelList(forDefectList); } + + m_timerID = startTimer(1000); } lpMainWin::~lpMainWin() @@ -217,6 +255,28 @@ lpMainWin::~lpMainWin() pTickThread = NULL; qDebug() << "delete pTickThread end"; } + { + if (m_pLbCurrentTime) + { + delete m_pLbCurrentTime; + m_pLbCurrentTime = nullptr; + } + if (m_pLbBanci) + { + delete m_pLbBanci; + m_pLbBanci = nullptr; + } + if (m_pLbDetectState) + { + delete m_pLbDetectState; + m_pLbDetectState = nullptr; + } + if (m_pLbUser) + { + delete m_pLbUser; + m_pLbUser = nullptr; + } + } if (m_pCtrl) { delete m_pCtrl; @@ -529,13 +589,13 @@ Q_SLOT void lpMainWin::onActionClicked() if ("action_userManager" == strObj) { if (m_pUserCtrl) { - m_pUserCtrl->ShowUserMgrDlg(); + m_pUserCtrl->ShowUserMgrDlg(this); } } else if ("action_Login" == strObj) { if (m_pUserCtrl) { - m_pUserCtrl->CheckLogin(); + m_pUserCtrl->CheckLogin(this); } } else if ("action_about" == strObj) { @@ -644,7 +704,56 @@ Q_SLOT void lpMainWin::onButtonClicked() void lpMainWin::timerEvent(QTimerEvent *event) { + if (event->timerId() == m_timerID) { + QString str = tr("ϵͳʱ䣺 "); + QString strDetectState = tr("״̬:") + (m_pState->IsDetect == true ? tr("...") : tr("δ...")); +// if (strLanguage != "Chinese") +// { +// str = "Time:"; +// strDetectState = tr("State:") + (m_pState->IsDetect == true ? tr("Detecting...") : tr("Undetect...")); +// } + + if (m_pLbCurrentTime) { + QString m_currentTimerString = hubBase::genDateTime(); + m_pLbCurrentTime->setText(str + m_currentTimerString + " "); + m_pLbCurrentTime->setStyleSheet("font: 14px;"); + } + + // state + if (m_pLbDetectState) { + + m_pLbDetectState->setText(strDetectState); + if (m_pState->IsDetect) { + m_pLbDetectState->setStyleSheet("font: bold 14px;background-color: green;"); + } + else { + m_pLbDetectState->setStyleSheet("font: bold 14px;background-color: red;"); + } + } + if (m_pLbBanci) { + QString show_label; + if (m_pCtrl) + show_label = m_pCtrl->getCurrentBan(); + + QString strMsg = tr("Ϣ") + (show_label.isEmpty() == true ? tr("ʱδð") : show_label); +// if (strLanguage != "Chinese") +// { +// strMsg = tr("Classes:") +// + (show_label.isEmpty() == true ? tr("No set Times") : show_label); +// } + m_pLbBanci->setText(strMsg); + m_pLbBanci->setStyleSheet("font: 14px;"); + } + if (m_pLbUser) { + QString show_label = m_pCtrl->getUserName(); +// if (strLanguage != "Chinese") +// m_pLbUser->setText(tr("User:") + show_label); +// else + m_pLbUser->setText(tr("ǰû") + show_label); + m_pLbUser->setStyleSheet("font: 14px;"); + } + } } void lpMainWin::closeEvent(QCloseEvent *event) @@ -796,6 +905,7 @@ Q_SLOT void lpMainWin::onThickness(double dValue) { m_pCtrl->appendThicknessValue(dValue); } + Q_SLOT void lpMainWin::onDetectStateRecv(int nIndex, int value) { nIndex -= 1; @@ -812,6 +922,7 @@ Q_SLOT void lpMainWin::onDetectStateRecv(int nIndex, int value) } } } + Q_SLOT void lpMainWin::onClearLibRev(bool state) { /*յӦ*/ @@ -823,6 +934,7 @@ Q_SLOT void lpMainWin::onClearLibRev(bool state) SendModelLibTask->start(); } } + //յ رնʱ Q_SLOT void lpMainWin::onPulseRev() { @@ -833,10 +945,12 @@ Q_SLOT void lpMainWin::onPulseRev() m_RestartServerCount = 0; } } + Q_SLOT void lpMainWin::onRecvTrigPara() { emit(sgShowMsgdlg(tr("PLCյò"))); } + Q_SLOT void lpMainWin::onReadDetectState(int nIndex, QString strModel) { nIndex -= 1; @@ -852,6 +966,7 @@ Q_SLOT void lpMainWin::onReadDetectState(int nIndex, QString strModel) } } } + Q_SLOT void lpMainWin::onReadDetectStateASK() { QMap *ptr = m_pCtrl->getAllModelMapPtr(); @@ -916,6 +1031,7 @@ Q_SLOT void lpMainWin::onShutDownComputer() } ExitWindowsEx(EWX_SHUTDOWN, SHTDN_REASON_MAJOR_OTHER); } + //*********************************************************************** Q_SLOT void lpMainWin::onPulseTimer() { diff --git a/tpvs17/tpMain/lpMainWin.h b/tpvs17/tpMain/lpMainWin.h index fcf1ba0..c7de6bc 100644 --- a/tpvs17/tpMain/lpMainWin.h +++ b/tpvs17/tpMain/lpMainWin.h @@ -114,9 +114,6 @@ private: void SendResultStr2PLC(Result2Ui* m_Res); void SendResultChannel2PLC(Result2Ui* m_Res); void SendResultChannelCOM(Result2Ui* m_Res); - // template -// _Widget* replaceWidget(QWidget* pSrcWidget); - protected: virtual void timerEvent(QTimerEvent *event); virtual void closeEvent(QCloseEvent *event); @@ -128,10 +125,14 @@ private: class QLabel* main_lb_res_Channle_Show{ nullptr }; class QLabel* main_label_state{ nullptr }; class QLabel* main_showWorkLabel{ nullptr }; - class ModelsView *m_pTableCheck{ nullptr }; - RoiImgViewer *m_ImgViewer{ nullptr }; + RoiImgViewer *m_ImgViewer{ nullptr };//չʾͼ +/*status ״̬*/ + class QLabel* m_pLbCurrentTime{ nullptr };//ʾϵͳʱ + class QLabel* m_pLbBanci{ nullptr };//ʾ + class QLabel* m_pLbDetectState{ nullptr };//ʾ״̬ + class QLabel *m_pLbUser{ nullptr };//ʾ½ûϢ private: CDllCoreCtrl* m_pDllCoreCtrl{ nullptr }; ICoreCtrl* m_pCoreCtrl{ nullptr }; @@ -171,6 +172,8 @@ private: IUserCtrl *m_pUserCtrl{ nullptr };//ûģ QVector m_VecTranPtr;//ʻ԰ + + int m_timerID{ 0 };//ʱ ״̬Ϣ }; #endif