Browse Source

update

master
zhaohe 1 year ago
parent
commit
cde01e46c7
  1. 3
      .vscode/settings.json
  2. 5
      src/app/main.cpp
  3. 3
      src/app/syncbox16ch/syncbox16ch.h
  4. 0
      src/zqui/appmgr/appmgr.cpp
  5. 54
      src/zqui/appmgr/appmgr.hpp
  6. 4
      src/zqui/mainpage/mainwindow.cpp

3
.vscode/settings.json

@ -110,7 +110,8 @@
"xstring": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp"
"xutility": "cpp",
"qformlayout": "cpp"
},
"files.autoGuessEncoding": false,
}

5
src/app/main.cpp

@ -18,9 +18,12 @@
#include <string>
#include <vector>
#include "zqui/appmgr/appmgr.hpp"
#include "zqui/mainpage/mainwindow.h"
#include "zqui/zqui.hpp"
//
#include "app/syncbox16ch/syncbox16ch.h"
//
#include <winsock2.h>
//
#include <Windows.h>
@ -34,6 +37,8 @@ int main(int argc, char *argv[]) {
WSAStartup(MAKEWORD(2, 2), &wsaData);
QApplication a(argc, argv);
AppMgr::ins()->regAppBuilder([](QWidget* p) { return new syncbox16ch(p); });
ZQUI::ins()->initialize();
return a.exec();
}

3
src/app/syncbox16ch/syncbox16ch.h

@ -7,8 +7,7 @@ namespace Ui {
class syncbox16ch;
}
class syncbox16ch : public QWidget
{
class syncbox16ch : public QWidget {
Q_OBJECT
public:

0
src/zqui/appmgr/appmgr.cpp

54
src/zqui/appmgr/appmgr.hpp

@ -0,0 +1,54 @@
#pragma once
#include <QMainWindow>
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QFormLayout>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QTextBrowser>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
//
#include <fstream>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
typedef std::function<QWidget *(QWidget *parent)> appbuilder_fn_t;
class AppMgr {
public:
appbuilder_fn_t appBuilder;
public:
static AppMgr *ins() {
static AppMgr instance;
return &instance;
}
void regAppBuilder(appbuilder_fn_t builder) { appBuilder = builder; }
QWidget *buildApp(QWidget *parent) {
if (appBuilder) return appBuilder(parent);
return nullptr;
}
};

4
src/zqui/mainpage/mainwindow.cpp

@ -10,6 +10,7 @@
#include "zqui/base/QFunction.hpp"
#include "zqui/channelmgr/channelmgr.hpp"
//
#include "zqui/appmgr/appmgr.hpp"
#include "zqui/zqui.hpp"
// #include "app/syncbox16ch.h"
// #include "version.h"
@ -21,6 +22,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
buildUI();
ui->serialPortCB->installEventFilter(this);
startTimer(1000);
QWidget *app = AppMgr::ins()->buildApp(ui->app_content);
if (app) app->show();
}
void MainWindow::buildUI() {

Loading…
Cancel
Save