-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainWindow.cpp
More file actions
51 lines (38 loc) · 1.34 KB
/
MainWindow.cpp
File metadata and controls
51 lines (38 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "MainWindow.h"
#include <QSerialPortInfo>
#include <QLayout>
#include <QComboBox>
#include <QPushButton>
#include <QMessageBox>
#include <Vizualizers/CpuUsageVisualizer.h>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
m_portsSelect = new QComboBox();
m_startBtn = new QPushButton(tr("Старт"));
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addWidget(m_portsSelect);
mainLayout->addWidget(m_startBtn);
QWidget *mainWidget = new QWidget();
mainWidget->setLayout(mainLayout);
setCentralWidget(mainWidget);
foreach (const QSerialPortInfo &portInfo, QSerialPortInfo::availablePorts())
{
m_portsSelect->addItem(tr("%1 (%2)").arg(portInfo.portName()).arg(portInfo.description()), portInfo.portName());
}
m_cpuUsageVisualizer = new CpuUsageVisualizer(this);
m_cpuUsageVisualizer->setPortName(m_portsSelect->itemData(0).toString());
connect(m_portsSelect, SIGNAL(currentIndexChanged(int)),
this, SLOT(portChanged(int)));
connect(m_startBtn, SIGNAL(clicked(bool)),
m_cpuUsageVisualizer, SLOT(start()));
}
MainWindow::~MainWindow()
{
m_cpuUsageVisualizer->quit();
m_cpuUsageVisualizer->wait();
}
void MainWindow::portChanged(const int index)
{
m_cpuUsageVisualizer->setPortName(m_portsSelect->itemData(index).toString());
}