Browse Source

update

master
zhaohe 1 year ago
parent
commit
df210f0733
  1. 134
      mainwindow.cpp
  2. 2
      mainwindow.h
  3. 216
      mainwindow.ui

134
mainwindow.cpp

@ -277,55 +277,27 @@ void MainWindow::constructBaseUI() {
void MainWindow::displayInfo(bool suc, QString info) {}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
/**
* @brief QT初始化
*/
ui->setupUi(this);
m_mainWindow = this;
qRegisterMetaType<int32_t>("int32_t");
qRegisterMetaType<uint32_t>("uint32_t");
qRegisterMetaType<float>("float");
qRegisterMetaType<function<void()>>("function<void()>");
qRegisterMetaType<QFunction>("QFunction");
connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction)));
/**
* @brief
*/
constructBaseUI();
constructAppUI();
/**
* @brief
*/
G_QTDataChannel.init();
G_WaveDataChannel.init();
ElectrocardiographTester::ins()->initialize(&G_QTDataChannel);
}
MainWindow::~MainWindow() { delete ui; }
void MainWindow::processException(zexception &e) { //
instructionPreviewShow("%s:%s", e.what(), hrs_ecode2str((ify_hrs_error_code_t)e.ecode()));
}
void MainWindow::constructAppUI() {
{
QWidget *tab = allocNewTab("测试TAB");
{
{
QGroupBox *box = allocNewBox(tab, "测试BOX", 4);
allocNewButtonStyle1(box, "测试按钮1", {"123", "456"}, //
[](int argn, const char **args) { m_mainWindow->instructionPreviewShow("测试按钮1"); });
allocNewButtonStyle1(box, "测试按钮1", {"123"}, //
[](int argn, const char **args) { m_mainWindow->instructionPreviewShow("测试按钮1"); });
endAllocNewBox(box);
}
}
endAllocNewTab(tab);
}
}
/***********************************************************************************************************************
* *
***********************************************************************************************************************/
/**
* @brief
*
* +TAB---------------------------------+
* |---BOX---------------------------|
* | |Button|Param|Param| |
* | |Button|Param|Param| |
* | |Button|Param|Param| |
* |---------------------------------|
* |---BOX---------------------------|
* | |Button|Param|Param| |
* | |Button|Param|Param| |
* | |Button|Param|Param| |
* |---------------------------------|
*
*
*/
QWidget *MainWindow::allocNewTab(QString zh_name) {
QWidget *newtab = new QWidget();
QVBoxLayout *verticalLayout = new QVBoxLayout(newtab); // 设置布局
@ -360,7 +332,7 @@ void MainWindow::endAllocNewBox(QGroupBox *box) { //
layout->addItem(verticalSpacer, layout->rowCount(), 0, 1, 1);
}
void MainWindow::allocNewButtonStyle1(QWidget *box, QString zh_name, QStringList params, std::function<void(int argn, const char **args)> onButtonClick) { //
void MainWindow::addNewButtonStyle1(QWidget *box, QString zh_name, QStringList params, std::function<void(int argn, const char **args)> onButtonClick) { //
QGridLayout *layout = qobject_cast<QGridLayout *>(box->layout());
int rowcnt = layout->rowCount();
@ -375,12 +347,76 @@ void MainWindow::allocNewButtonStyle1(QWidget *box, QString zh_name, QStringList
button->setSizePolicy(sizePolicy);
layout->addWidget(button, rowcnt, 0, 1, 1);
QList<QLineEdit *> lineEdits;
for (int i = 0; i < params.size(); i++) {
QLineEdit *lineEdit = new QLineEdit(box);
lineEdit->setMinimumHeight(30);
// lineEdit->sizePolicy().setHorizontalStretch(1);
lineEdit->setSizePolicy(sizePolicy);
lineEdit->setPlaceholderText(params[i]);
lineEdits.push_back(lineEdit);
layout->addWidget(lineEdit, rowcnt, i + 1, 1, 1);
}
connect(button, &QPushButton::clicked, this, [onButtonClick, lineEdits]() {
vector<string> params;
for (int i = 0; i < lineEdits.size(); i++) {
params.push_back(lineEdits[i]->text().toStdString());
}
char *args[params.size()];
for (int i = 0; i < params.size(); i++) {
args[i] = (char *)params[i].c_str();
}
onButtonClick(params.size(), (const char **)args);
});
}
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
/**
* @brief QT初始化
*/
ui->setupUi(this);
m_mainWindow = this;
qRegisterMetaType<int32_t>("int32_t");
qRegisterMetaType<uint32_t>("uint32_t");
qRegisterMetaType<float>("float");
qRegisterMetaType<function<void()>>("function<void()>");
qRegisterMetaType<QFunction>("QFunction");
connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction)));
/**
* @brief
*/
constructBaseUI();
constructAppUI();
/**
* @brief
*/
G_QTDataChannel.init();
G_WaveDataChannel.init();
ElectrocardiographTester::ins()->initialize(&G_QTDataChannel);
}
MainWindow::~MainWindow() { delete ui; }
void MainWindow::processException(zexception &e) { //
instructionPreviewShow("%s:%s", e.what(), hrs_ecode2str((ify_hrs_error_code_t)e.ecode()));
}
void MainWindow::constructAppUI() {
{
QWidget *tab = allocNewTab("测试TAB");
{
QGroupBox *box = allocNewBox(tab, "测试BOX", 4);
addNewButtonStyle1(box, "测试按钮1", {"123", "456", "789"}, [](int argn, const char **args) {});
addNewButtonStyle1(box, "测试按钮1", {"123"}, [](int argn, const char **args) {});
endAllocNewBox(box);
}
endAllocNewTab(tab);
}
}

2
mainwindow.h

@ -110,7 +110,7 @@ class MainWindow : public QMainWindow {
QWidget *allocNewTab(QString zh_name);
QGroupBox *allocNewBox(QWidget *tab, QString zh_name, int column);
void allocNewButtonStyle1(QWidget *box, QString zh_name, QStringList params, std::function<void(int argn, const char **args)> onButtonClick);
void addNewButtonStyle1(QWidget *box, QString zh_name, QStringList params, std::function<void(int argn, const char **args)> onButtonClick);
void endAllocNewBox(QGroupBox *box);
void endAllocNewTab(QWidget *tab);
};

216
mainwindow.ui

@ -881,222 +881,8 @@ p, li { white-space: pre-wrap; }
<enum>Qt::DefaultContextMenu</enum>
</property>
<property name="currentIndex">
<number>0</number>
<number>-1</number>
</property>
<widget class="QWidget" name="buttonTabWidgetPage1" native="true">
<attribute name="title">
<string/>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>设备信息</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="6" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="readDeviceState">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取设备状态信息</string>
</property>
</widget>
</item>
<item row="6" column="0">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="0">
<widget class="QPushButton" name="readSN">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取设备SN</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="readDeviceVersion">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取设备版本信息</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="readSensorInfo">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取传感器信息</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="syncTime">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>同步时间</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="readTime">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取设备时间</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="lineEdit"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabZB">
<attribute name="title">
<string notr="true">123</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>设备信息</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QPushButton" name="readDeviceVersion_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="text">
<string>读取设备版本信息</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>

Loading…
Cancel
Save