You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #include "mainwindow.h"
  2. #include "./ui_mainwindow.h"
  3. void MainWindow::push_reg(QWidget *parent, int off, const char *regname, int32_t regadd, int32_t rwflag) {
  4. DispalyRegIterm *regitem = new DispalyRegIterm();
  5. {
  6. auto *label = new QLabel(parent);
  7. label->setObjectName(QString::fromUtf8("label"));
  8. label->setText(QString(regname));
  9. QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Expanding);
  10. sizePolicy1.setHorizontalStretch(0);
  11. sizePolicy1.setVerticalStretch(0);
  12. sizePolicy1.setHeightForWidth(label->sizePolicy().hasHeightForWidth());
  13. label->setSizePolicy(sizePolicy1);
  14. label->setMinimumSize(QSize(100, 0));
  15. label->setMaximumSize(QSize(16777215, 16777215));
  16. ui->reg_table->addWidget(label, off, 0, 1, 1);
  17. regitem->label = label;
  18. }
  19. {
  20. auto *textbrowser = new QTextBrowser(parent);
  21. textbrowser->setObjectName(QString::fromUtf8("textbrowser"));
  22. textbrowser->setEnabled(true);
  23. textbrowser->setText(QString("demo"));
  24. QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  25. sizePolicy.setHorizontalStretch(0);
  26. sizePolicy.setVerticalStretch(0);
  27. sizePolicy.setHeightForWidth(textbrowser->sizePolicy().hasHeightForWidth());
  28. textbrowser->setSizePolicy(sizePolicy);
  29. textbrowser->setMaximumSize(QSize(16777215, 16777215));
  30. ui->reg_table->addWidget(textbrowser, off, 1, 1, 1);
  31. regitem->regBrowser = textbrowser;
  32. }
  33. {
  34. auto *textEdit = new QTextEdit(parent);
  35. textEdit->setObjectName(QString::fromUtf8("textEdit"));
  36. textEdit->setEnabled(true);
  37. QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  38. sizePolicy.setHorizontalStretch(0);
  39. sizePolicy.setVerticalStretch(0);
  40. sizePolicy.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth());
  41. textEdit->setSizePolicy(sizePolicy);
  42. textEdit->setMaximumSize(QSize(16777215, 16777215));
  43. ui->reg_table->addWidget(textEdit, off, 2, 1, 1);
  44. regitem->regEditer = textEdit;
  45. }
  46. {
  47. // new button
  48. auto *button = new QPushButton(parent);
  49. button->setObjectName(QString::fromUtf8("button"));
  50. button->setText(QString("Write"));
  51. QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  52. sizePolicy.setHorizontalStretch(0);
  53. sizePolicy.setVerticalStretch(0);
  54. sizePolicy.setHeightForWidth(button->sizePolicy().hasHeightForWidth());
  55. button->setSizePolicy(sizePolicy);
  56. regitem->writerButton = button;
  57. ui->reg_table->addWidget(button, off, 3, 1, 1);
  58. }
  59. m_regdisplayer[regadd] = regitem;
  60. }
  61. void MainWindow::construct_reg_table() { //
  62. push_reg(ui->gridLayoutWidget, 1, "reg0", 0x1000, 0);
  63. push_reg(ui->gridLayoutWidget, 2, "reg1", 0x1001, 0);
  64. push_reg(ui->gridLayoutWidget, 3, "reg1", 0x1002, 0);
  65. push_reg(ui->gridLayoutWidget, 4, "reg1", 0x1003, 0);
  66. push_reg(ui->gridLayoutWidget, 5, "reg1", 0x1004, 0);
  67. auto qrect = ui->gridLayoutWidget->geometry();
  68. qrect.setHeight(31 * 5);
  69. ui->gridLayoutWidget->setGeometry(qrect);
  70. }
  71. //
  72. MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
  73. ui->setupUi(this);
  74. // 构造传感器列表
  75. construct_reg_table();
  76. }
  77. MainWindow::~MainWindow() { delete ui; }