5 changed files with 136 additions and 81 deletions
@ -1,32 +1,88 @@ |
|||
#include "mainwindow.h"
|
|||
|
|||
#include <QtCharts>
|
|||
|
|||
#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; } |
Write
Preview
Loading…
Cancel
Save
Reference in new issue