1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QWebEngineView>
- #include <QWebChannel>
- #include <QFileDialog>
- #include "CWorker/worker.h"
- #ifdef WIN32
- #pragma execution_character_set("utf-8")
- #endif
- Core::Core(QObject *parent) : QObject(parent)
- {
- Worker *worker = new Worker;
- worker->moveToThread(&mWorkerThread);
- connect(&mWorkerThread, &QThread::finished, worker, &QObject::deleteLater);
- connect(this, &Core::operate, worker, &Worker::doWork);
- connect(worker, &Worker::resultReady, this, &Core::handleResults); // Qt接口
- mWorkerThread.start();
- }
- void Core::handleCmd(const QString &func, const QStringList &keys, const QStringList &values)
- {
- qDebug() << func << keys << values;
- QString cmd = "0";
- if (func == "selectFile")
- {
- QFileDialog dialog;
- QString fileName = dialog.getOpenFileName(NULL,
- tr("selectFile"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
- }
- else if (func == "selectDir")
- {
- QFileDialog dialog;
- dialog.setFileMode(QFileDialog::Directory);
- QString fileName = dialog.getOpenFileName(NULL,
- tr("selectDir"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
- }
- else
- {
- RstData rstData;
- if (keys.size() != values.size() || values.size() != 2)
- {
- rstData.retCode = RET_PARAMERR;
- rstData.msg = RET_MSG[rstData.retCode];
- emit operateResult(MyCommon::GetJsonData(rstData));
- return;
- }
- if (values[0] == "admin" && values[1] == "admin")
- {
- cmd = "1";
- }
- }
- emit operate(WORK_DB_QUERY, func, cmd);
- }
- void Core::handleResults(const RstData &rstData)
- {
- qDebug() << "[handleResults]result.size()=" << rstData.func << ","
- << rstData.retCode << "," << rstData.msg;
- emit operateResult(MyCommon::GetJsonData(rstData));
- }
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- this->setWindowTitle("电子侦察平台任务模拟软件");//设置标题内容
- this->setWindowIcon(QIcon(":/image/images/logo.ico"));
- this->resize(1380,820); //设置固定大小
- this->setMinimumSize(1380,820);
- ui->webView->setContextMenuPolicy(Qt::NoContextMenu);
- // 定义交互类,通过channel与html交互
- QWebChannel *channel = new QWebChannel(this);
- channel->registerObject(QStringLiteral("core"), &mCore);
- ui->webView->page()->setWebChannel(channel);
- ui->webView->setUrl(QUrl("qrc:/investdist/index.html"));
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
|