Browse Source

update

master
zhaohe 1 year ago
parent
commit
d94627703f
  1. 1
      CMakeLists.txt
  2. 10
      src/app/main.cpp
  3. 258
      src/app/syncbox16ch/syncbox16ch.ui
  4. 0
      src/zqui/appmgr/appmgr.cpp
  5. 54
      src/zqui/appmgr/appmgr.hpp
  6. 20
      src/zqui/zqui/appnavibar.cpp
  7. 25
      src/zqui/zqui/appnavibar.h
  8. 155
      src/zqui/zqui/appnavibar.ui
  9. 9
      src/zqui/zqui/mainwindow.cpp
  10. 0
      src/zqui/zqui/mainwindow.h
  11. 21
      src/zqui/zqui/mainwindow.ui
  12. 35
      src/zqui/zqui/zqui.cpp
  13. 11
      src/zqui/zqui/zqui.hpp

1
CMakeLists.txt

@ -36,7 +36,6 @@ set(PROJECT_SOURCES
app.rc
)
add_executable(zfpga_pc WIN32
${PROJECT_SOURCES}
)

10
src/app/main.cpp

@ -18,9 +18,8 @@
#include <string>
#include <vector>
#include "zqui/appmgr/appmgr.hpp"
#include "zqui/mainpage/mainwindow.h"
#include "zqui/zqui.hpp"
#include "zqui/zqui/mainwindow.h"
#include "zqui/zqui/zqui.hpp"
//
#include "app/syncbox16ch/syncbox16ch.h"
//
@ -37,10 +36,11 @@ 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()->regAppBuilder([](QWidget* p) { return new SyncBox16CH(p); });
ZQUI::ins()->initialize();
DOINUI([]() { ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION", "1.0.0"); });
// DOINUI([]() { ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION", "1.0.0"); });
return a.exec();
}

258
src/app/syncbox16ch/syncbox16ch.ui

@ -6,52 +6,228 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<width>439</width>
<height>323</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>80</x>
<y>50</y>
<width>111</width>
<height>41</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QToolButton" name="toolButton">
<property name="geometry">
<rect>
<x>240</x>
<y>120</y>
<width>91</width>
<height>51</height>
</rect>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>40</x>
<y>170</y>
<width>121</width>
<height>71</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="OutputModeTag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>输出模式</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="OutputModeVal">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="OutputPluseTypeTag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>输出波形类型</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="OutputPluseTypeVal">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="OutputPluseFreqTag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>频率(HZ)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="OutputPluseFreqVal">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="OutputPluseWidthTag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>脉冲宽度(us)</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="OutputPluseWidthVal">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="OutputPluseNumTag">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>25</height>
</size>
</property>
<property name="text">
<string>脉冲数量</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="OutputPluseNumVal">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
</widget>
</item>
<item row="5" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>91</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="0" colspan="2">
<widget class="QPushButton" name="SendButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="text">
<string>发送</string>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>

0
src/zqui/appmgr/appmgr.cpp

54
src/zqui/appmgr/appmgr.hpp

@ -1,54 +0,0 @@
#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;
}
};

20
src/zqui/zqui/appnavibar.cpp

@ -0,0 +1,20 @@
#include "appnavibar.h"
#include "ui_appnavibar.h"
AppNaviBar::AppNaviBar(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::AppNaviBar)
{
ui->setupUi(this);
}
AppNaviBar::~AppNaviBar()
{
delete ui;
}
void AppNaviBar::on_App0_released()
{
}

25
src/zqui/zqui/appnavibar.h

@ -0,0 +1,25 @@
#ifndef APPNAVIBAR_H
#define APPNAVIBAR_H
#include <QMainWindow>
namespace Ui {
class AppNaviBar;
}
class AppNaviBar : public QMainWindow
{
Q_OBJECT
public:
explicit AppNaviBar(QWidget *parent = nullptr);
~AppNaviBar();
private slots:
void on_App0_released();
public:
Ui::AppNaviBar *ui;
};
#endif // APPNAVIBAR_H

155
src/zqui/zqui/appnavibar.ui

@ -0,0 +1,155 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AppNaviBar</class>
<widget class="QMainWindow" name="AppNaviBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>595</width>
<height>262</height>
</rect>
</property>
<property name="windowTitle">
<string>产品梦工厂</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QPushButton" name="App1">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="App2">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="App0">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="App3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="App4">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="App5">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<family>Agency FB</family>
<pointsize>20</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(166, 254, 255);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>

9
src/zqui/mainpage/mainwindow.cpp → src/zqui/zqui/mainwindow.cpp

@ -9,10 +9,8 @@
#include "./ui_mainwindow.h"
#include "zqui/base/QFunction.hpp"
#include "zqui/channelmgr/channelmgr.hpp"
//
#include "zqui/appmgr/appmgr.hpp"
#include "zqui/zqui.hpp"
// #include "app/syncbox16ch.h"
using namespace iflytop;
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
@ -29,8 +27,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
ui->version_label_po3->hide();
ui->version_pos3->hide();
QWidget *app = AppMgr::ins()->buildApp(ui->app_content);
if (app) app->show();
}
void MainWindow::buildUI() {

0
src/zqui/mainpage/mainwindow.h → src/zqui/zqui/mainwindow.h

21
src/zqui/mainpage/mainwindow.ui → src/zqui/zqui/mainwindow.ui

@ -17,7 +17,7 @@
</sizepolicy>
</property>
<property name="windowTitle">
<string>ZFPGA</string>
<string>产品梦工厂</string>
</property>
<property name="styleSheet">
<string notr="true">/*
@ -654,10 +654,22 @@ QGroupBox:title {
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">#sidebar{
background-color: rgb(245, 245, 245);
}
</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
@ -952,13 +964,16 @@ QGroupBox:title {
<number>0</number>
</property>
<item>
<widget class="QFrame" name="app_content">
<widget class="QGroupBox" name="app_content">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>4</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>APP</string>
</property>
</widget>
</item>
<item>
@ -976,7 +991,7 @@ QGroupBox:title {
<enum>QTabWidget::Rounded</enum>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<property name="elideMode">
<enum>Qt::ElideLeft</enum>

35
src/zqui/zqui.cpp → src/zqui/zqui/zqui.cpp

@ -1,6 +1,10 @@
#include "zqui.hpp"
#include "zqui/mainpage/mainwindow.h"
#include "ui_appnavibar.h"
#include "ui_mainwindow.h"
//
#include "appnavibar.h"
#include "mainwindow.h"
using namespace std;
#define TAG "ZQUI"
@ -64,8 +68,35 @@ void ZQUI::initialize() {
qRegisterMetaType<QFunction>("QFunction");
connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction)));
#if 0
AppNaviBar *appNaviBar = new AppNaviBar();
appNaviBar->show();
pmainW = new MainWindow();
pmainW->show();
appNaviBar->ui->App0->setText("十六路同步盒");
appNaviBar->ui->App1->setText("");
appNaviBar->ui->App2->setText("");
appNaviBar->ui->App3->setText("");
appNaviBar->ui->App4->setText("");
appNaviBar->ui->App5->setText("");
connect(appNaviBar->ui->App0, &QPushButton::clicked, this, [=](bool check) {
QWidget *app = appBuilder(pmainW->ui->app_content);
pmainW->show();
delete appNaviBar;
});
#endif
pmainW = new MainWindow();
DOINUI([this]() {
QVBoxLayout *layout = new QVBoxLayout(pmainW->ui->app_content);
layout->setObjectName(QString::fromUtf8("layout"));
layout->setContentsMargins(0, -1, -1, 0);
QWidget *app = appBuilder(pmainW->ui->app_content);
layout->addWidget(app);
pmainW->show();
});
}
void ZQUI::doinui(function<void()> dowhat) {
emit doinui_signal(QFunction([dowhat]() {

11
src/zqui/zqui.hpp → src/zqui/zqui/zqui.hpp

@ -34,8 +34,10 @@
#include <string>
#include <vector>
#include "base/QFunction.hpp"
#include "mainpage/mainwindow.h"
#include "mainwindow.h"
#include "zqui/base/QFunction.hpp"
typedef std::function<QWidget *(QWidget *parent)> appbuilder_fn_t;
class ZQUI : public QObject {
Q_OBJECT
@ -43,7 +45,8 @@ class ZQUI : public QObject {
typedef std::function<void(QString)> display_fn_t;
typedef std::function<void()> display_clear_fn_t;
MainWindow *pmainW = nullptr;
;
appbuilder_fn_t appBuilder;
public:
static ZQUI *ins();
@ -64,6 +67,8 @@ class ZQUI : public QObject {
void setDeviceConnectedStatus(bool connect);
void regAppBuilder(appbuilder_fn_t builder) { appBuilder = builder; }
MainWindow *mainW() { return pmainW; }
private slots:
Loading…
Cancel
Save