1、多线程类弃用fastDelegate代理方式,改用functional代理

2、模板管理页面功能基本恢复
newClassify
bobpan 5 years ago
parent e7f7389332
commit f518d476b5

@ -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)

@ -4,7 +4,7 @@
#include <QPixmap>
#include "InfoFile.h"
#pragma execution_character_set("utf-8")
QAddModel::QAddModel(QDialog *parent)
QAddModel::QAddModel(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
@ -37,7 +37,7 @@ void QAddModel::SlotAccept()
{
if (ui.wf_model_edit->text().isEmpty() || ui.wf_model_edit_diameter->text().isEmpty() || ui.wf_model_edit_ply->text().isEmpty())
{
QMessageBox::information(NULL, tr("提醒"), tr("信息不能为空!"), QMessageBox::Yes | QMessageBox::No);
QMessageBox::information(this, tr("提醒"), tr("信息不能为空!"), QMessageBox::Yes | QMessageBox::No);
return;
}
QDialog::accept();

@ -12,7 +12,7 @@ class QAddModel : public QDialog
Q_OBJECT
public:
QAddModel(QDialog *parent = 0);
QAddModel(QWidget *parent = 0);
~QAddModel();
private:

@ -78,7 +78,7 @@ bool QModNamedlg::onMessageBox(QMessageBox::Icon ntype, QString strTitle, QStrin
if (onlyOK == 1)
button = QMessageBox::Cancel;
QMessageBox infobox(ntype, strTitle, strAtl, QMessageBox::Ok | button, NULL);
QMessageBox infobox(ntype, strTitle, strAtl, QMessageBox::Ok | button, this);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Ok, tr("确认"));
infobox.setButtonText(QMessageBox::Cancel, tr("取消"));

File diff suppressed because it is too large Load Diff

@ -4,10 +4,10 @@
#include <QThread>
#include <iostream>
#include <stdio.h>
#include "FastDelegate.h"
#include <QMutex>
using namespace fastdelegate;
#include <functional>
typedef std::function<void()> TaskFunc;
class QMyThread : public QThread
{
Q_OBJECT
@ -16,20 +16,12 @@ public:
QMyThread(QObject *parent = 0, quint64 m_sleeptime=10);
~QMyThread();
template <typename T,typename MemFnPtr>
bool loadfunc(T *obj, MemFnPtr fuc)/*模板函数 不知道怎么使用*/
bool loadfunc(TaskFunc func)/*模板函数 不知道怎么使用*/
{
_actionFunc.bind(obj, fuc);
stopped = false;
return true;
}
bool loadfunc(void(*fn)())/*模板函数 不知道怎么使用*/
{
if (fn)
_actionFunc.bind(fn);
stopped = false;
_actionFunc = func;
return true;
}
void InitStopFlag(){ stopped = false; };
void stop();
void setUser(bool m_userCtrol = false){ this->userCtrol = m_userCtrol; };
@ -41,7 +33,7 @@ private:
bool userCtrol;
volatile bool stopped;
QString messageStr;
FastDelegate0<> _actionFunc;
TaskFunc _actionFunc;
bool m_stopsleep;
quint64 m_sleeptime;
private slots:

@ -50,17 +50,17 @@ QModelMgrDlg::QModelMgrDlg(IWheelCtrl *ptr, QWidget *parent)
m_trainAllTsk = new QMyThread();
m_trainAllTsk->setUser(true);
m_trainAllTsk->loadfunc(this, &QModelMgrDlg::TrainAllTskFunc);
TaskFunc trainAllFunc = std::bind(&QModelMgrDlg::TrainAllTskFunc, this);
m_trainAllTsk->loadfunc(trainAllFunc);
m_trainOneTsk = new QMyThread();
m_trainOneTsk->setUser(true);
m_trainOneTsk->loadfunc(this, &QModelMgrDlg::TrainOneTskFunc);
TaskFunc trainOneFunc = std::bind(&QModelMgrDlg::TrainOneTskFunc, this);
m_trainOneTsk->loadfunc(trainOneFunc);
//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)));
{
m_pModelLists = new ModelsView(ui.ModelMgr_Models_tableView, m_pModelMgr->getAllModelMapPtr());
m_pModelLists->setHideItems(QStringList() << "NG");
@ -249,7 +249,11 @@ Q_SLOT void QModelMgrDlg::onAddModel()
QString str = m_pCtrl->getUserName() + ":" + tr("按下了添加模板按钮");
m_pCtrl->addLog(str, emTypeUseState);
QAddModel m_AddModel;
QAddModel m_AddModel(this);
m_AddModel.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
m_AddModel.setWindowIcon(QIcon(":/resource/logo-8.png"));
m_AddModel.setWindowModality(Qt::ApplicationModal);
m_AddModel.setAttribute(Qt::WA_ShowModal, true);
m_AddModel.SetClearData();
m_AddModel.setWindowIcon(QIcon(MODEL_UI_ICON_LEAPER));
m_AddModel.setWindowTitle(tr("产品信息设置"));
@ -427,7 +431,11 @@ Q_SLOT void QModelMgrDlg::onChangeModelName()
onMessageBox(QMessageBox::Information, tr("提示"), tr("请选择一个您要修改的型号!"), 0);
return;
}
QModNamedlg dlg;
QModNamedlg dlg(this);
dlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
dlg.setWindowIcon(QIcon(":/resource/logo-8.png"));
dlg.setWindowModality(Qt::ApplicationModal);
dlg.setAttribute(Qt::WA_ShowModal, true);
QString m_newName;
IWheelModel *pModel = m_pModelMgr->getModel(strModel);
QString strPath = m_pCtrl->appRoot() + pModel->getPicPath();
@ -971,7 +979,7 @@ bool QModelMgrDlg::onMessageBox(QMessageBox::Icon ntype, QString strTitle, QStri
if (onlyOK == 1)
button = QMessageBox::Cancel;
QMessageBox infobox(ntype, strTitle, strAtl, QMessageBox::Ok | button, NULL);
QMessageBox infobox(ntype, strTitle, strAtl, QMessageBox::Ok | button, this);
infobox.setWindowIcon(QIcon(":/image/leaper"));
infobox.setButtonText(QMessageBox::Ok, tr("确认"));
infobox.setButtonText(QMessageBox::Cancel, tr("取消"));

@ -114,10 +114,12 @@ lpMainWin::lpMainWin(QWidget *parent)
/*发送模板库线程*/
SendModelLibTask = new QMyThread();
SendModelLibTask->setUser(true);
SendModelLibTask->loadfunc(this, &lpMainWin::SendModelKuTskFun);
TaskFunc KuTaskFunc = std::bind(&lpMainWin::SendModelKuTskFun,this);
SendModelLibTask->loadfunc(KuTaskFunc);
SendTiskTsk = new QMyThread();
SendTiskTsk->loadfunc(this, &lpMainWin::SendTickTskFun);
TaskFunc TickFunc = std::bind(&lpMainWin::SendTickTskFun, this);
SendTiskTsk->loadfunc(TickFunc);
m_screen.ShowMsg(tr("系统初始化完成..."));

Loading…
Cancel
Save