5 changed files with 136 additions and 81 deletions
@ -1,32 +1,88 @@ |
|||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||
|
|
||||
#include <QtCharts>
|
|
||||
|
|
||||
#include "./ui_mainwindow.h"
|
#include "./ui_mainwindow.h"
|
||||
|
|
||||
// 两种引入命名空间方法
|
|
||||
|
void MainWindow::push_reg(QWidget *parent, int off, const char *regname, int32_t regadd, int32_t rwflag) { |
||||
|
DispalyRegIterm *regitem = new DispalyRegIterm(); |
||||
|
{ |
||||
|
auto *label = new QLabel(parent); |
||||
|
label->setObjectName(QString::fromUtf8("label")); |
||||
|
label->setText(QString(regname)); |
||||
|
QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Expanding); |
||||
|
sizePolicy1.setHorizontalStretch(0); |
||||
|
sizePolicy1.setVerticalStretch(0); |
||||
|
sizePolicy1.setHeightForWidth(label->sizePolicy().hasHeightForWidth()); |
||||
|
label->setSizePolicy(sizePolicy1); |
||||
|
label->setMinimumSize(QSize(100, 0)); |
||||
|
label->setMaximumSize(QSize(16777215, 16777215)); |
||||
|
ui->reg_table->addWidget(label, off, 0, 1, 1); |
||||
|
regitem->label = label; |
||||
|
} |
||||
|
{ |
||||
|
auto *textbrowser = new QTextBrowser(parent); |
||||
|
textbrowser->setObjectName(QString::fromUtf8("textbrowser")); |
||||
|
textbrowser->setEnabled(true); |
||||
|
textbrowser->setText(QString("demo")); |
||||
|
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
||||
|
sizePolicy.setHorizontalStretch(0); |
||||
|
sizePolicy.setVerticalStretch(0); |
||||
|
sizePolicy.setHeightForWidth(textbrowser->sizePolicy().hasHeightForWidth()); |
||||
|
|
||||
// using namespace QtCharts; // 使用unsing引入命名空间
|
|
||||
QT_CHARTS_USE_NAMESPACE // 使用内置宏引入命名空间
|
|
||||
|
textbrowser->setSizePolicy(sizePolicy); |
||||
|
textbrowser->setMaximumSize(QSize(16777215, 16777215)); |
||||
|
|
||||
MainWindow::MainWindow(QWidget* parent) |
|
||||
: QMainWindow(parent), ui(new Ui::MainWindow) { |
|
||||
ui->setupUi(this); |
|
||||
|
ui->reg_table->addWidget(textbrowser, off, 1, 1, 1); |
||||
|
regitem->regBrowser = textbrowser; |
||||
|
} |
||||
|
|
||||
|
{ |
||||
|
auto *textEdit = new QTextEdit(parent); |
||||
|
textEdit->setObjectName(QString::fromUtf8("textEdit")); |
||||
|
textEdit->setEnabled(true); |
||||
|
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
||||
|
sizePolicy.setHorizontalStretch(0); |
||||
|
sizePolicy.setVerticalStretch(0); |
||||
|
sizePolicy.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth()); |
||||
|
|
||||
QChartView* chartView = new QChartView(this); |
|
||||
QLineSeries* series = new QLineSeries(); |
|
||||
|
textEdit->setSizePolicy(sizePolicy); |
||||
|
textEdit->setMaximumSize(QSize(16777215, 16777215)); |
||||
|
|
||||
for (quint32 i = 0; i < 100; i++) { |
|
||||
// 参数 x 为循环自增变量 i,参数 y 为正弦函数Y值
|
|
||||
series->append(i, sin(static_cast<double>(0.6f * i))); |
|
||||
|
ui->reg_table->addWidget(textEdit, off, 2, 1, 1); |
||||
|
regitem->regEditer = textEdit; |
||||
} |
} |
||||
|
{ |
||||
|
// new button
|
||||
|
auto *button = new QPushButton(parent); |
||||
|
button->setObjectName(QString::fromUtf8("button")); |
||||
|
button->setText(QString("Write")); |
||||
|
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
||||
|
sizePolicy.setHorizontalStretch(0); |
||||
|
sizePolicy.setVerticalStretch(0); |
||||
|
sizePolicy.setHeightForWidth(button->sizePolicy().hasHeightForWidth()); |
||||
|
button->setSizePolicy(sizePolicy); |
||||
|
|
||||
// 将系列添加到图表
|
|
||||
chartView->chart()->addSeries(series); |
|
||||
// 基于已添加到图表的 series 来创建默认的坐标轴
|
|
||||
chartView->chart()->createDefaultAxes(); |
|
||||
|
regitem->writerButton = button; |
||||
|
ui->reg_table->addWidget(button, off, 3, 1, 1); |
||||
|
} |
||||
|
m_regdisplayer[regadd] = regitem; |
||||
|
} |
||||
|
|
||||
|
void MainWindow::construct_reg_table() { //
|
||||
|
push_reg(ui->gridLayoutWidget, 1, "reg0", 0x1000, 0); |
||||
|
push_reg(ui->gridLayoutWidget, 2, "reg1", 0x1001, 0); |
||||
|
push_reg(ui->gridLayoutWidget, 3, "reg1", 0x1002, 0); |
||||
|
push_reg(ui->gridLayoutWidget, 4, "reg1", 0x1003, 0); |
||||
|
push_reg(ui->gridLayoutWidget, 5, "reg1", 0x1004, 0); |
||||
|
auto qrect = ui->gridLayoutWidget->geometry(); |
||||
|
qrect.setHeight(31 * 5); |
||||
|
ui->gridLayoutWidget->setGeometry(qrect); |
||||
|
} |
||||
|
//
|
||||
|
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { |
||||
|
ui->setupUi(this); |
||||
|
|
||||
|
// 构造传感器列表
|
||||
|
construct_reg_table(); |
||||
} |
} |
||||
|
|
||||
MainWindow::~MainWindow() { delete ui; } |
MainWindow::~MainWindow() { delete ui; } |
Write
Preview
Loading…
Cancel
Save
Reference in new issue