Browse Source

update

master
zhaohe 1 year ago
parent
commit
cde01e46c7
  1. 3
      .vscode/settings.json
  2. 7
      src/app/main.cpp
  3. 7
      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", "xstring": "cpp",
"xtr1common": "cpp", "xtr1common": "cpp",
"xtree": "cpp", "xtree": "cpp",
"xutility": "cpp"
"xutility": "cpp",
"qformlayout": "cpp"
}, },
"files.autoGuessEncoding": false, "files.autoGuessEncoding": false,
} }

7
src/app/main.cpp

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

7
src/app/syncbox16ch/syncbox16ch.h

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

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

Loading…
Cancel
Save