Browse Source

update

master
zhaohe 1 year ago
parent
commit
cde01e46c7
  1. 3
      .vscode/settings.json
  2. 2
      CMakeLists.txt
  3. 7
      src/app/main.cpp
  4. 17
      src/app/syncbox16ch/syncbox16ch.h
  5. 0
      src/zqui/appmgr/appmgr.cpp
  6. 54
      src/zqui/appmgr/appmgr.hpp
  7. 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,
}

2
CMakeLists.txt

@ -30,7 +30,7 @@ file(GLOB_RECURSE APPSRC #
src/*.h #
src/*.hpp #
)
set(PROJECT_SOURCES
${APPSRC}
app.rc

7
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>
@ -29,11 +32,13 @@
using namespace std;
QT_CHARTS_USE_NAMESPACE
int main(int argc, char *argv[]) {
int main(int argc, char* argv[]) {
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
QApplication a(argc, argv);
AppMgr::ins()->regAppBuilder([](QWidget* p) { return new syncbox16ch(p); });
ZQUI::ins()->initialize();
return a.exec();
}

17
src/app/syncbox16ch/syncbox16ch.h

@ -7,16 +7,15 @@ namespace Ui {
class syncbox16ch;
}
class syncbox16ch : public QWidget
{
Q_OBJECT
class syncbox16ch : public QWidget {
Q_OBJECT
public:
explicit syncbox16ch(QWidget *parent = nullptr);
~syncbox16ch();
public:
explicit syncbox16ch(QWidget *parent = nullptr);
~syncbox16ch();
private:
Ui::syncbox16ch *ui;
private:
Ui::syncbox16ch *ui;
};
#endif // SYNCBOX16CH_H
#endif // SYNCBOX16CH_H

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