-
Notifications
You must be signed in to change notification settings - Fork 0
/
mysetup.cpp
123 lines (105 loc) · 3.76 KB
/
mysetup.cpp
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "mysetup.h"
#include "ui_mysetup.h"
mySetup::mySetup(QWidget *parent) :
QWidget(parent),
ui(new Ui::mySetup)
{
ui->setupUi(this);
init();
}
mySetup::~mySetup()
{
delete ui;
}
void mySetup::init()
{
ui->serial_baud->addItems(Baudlist);
foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts())
{
ui->serial_Com->addItem(QString("%1") .arg(info.portName()));
}
ui->serial_databit->addItems(Databit);
ui->serial_stopbit->addItems(Stopbit);
ui->serial_parity->addItems(Paritybit);
ui->serial_flowcontrol->addItems(FlowControl);
qDebug() << "UI initual finished ...";
ui->serial_baud->setCurrentText("57600");
ui->serial_databit->setCurrentText("8");
ui->serial_stopbit->setCurrentText("1");
ui->serial_parity->setCurrentText("None");
ui->serial_button->setText("Open");
}
void mySetup::get_serialport_config()
{
g_serialport_config.g_com = ui->serial_Com->currentText();
g_serialport_config.g_databit=ui->serial_databit->currentText();
g_serialport_config.g_parity = ui->serial_parity->currentText();
g_serialport_config.g_speed = ui->serial_baud->currentText();
g_serialport_config.g_stopbit = ui->serial_stopbit->currentText();
g_serialport_config.g_flowcontrol = ui->serial_flowcontrol->currentText();
}
void mySetup::set_config_ui()
{
if(ui->serial_button->text() == "Open") //com处于关闭状态
{
ui->serial_Com->setEnabled(true);
ui->serial_baud->setEnabled(true);
ui->serial_databit->setEnabled(true);
ui->serial_flowcontrol->setEnabled(true);
ui->serial_parity->setEnabled(true);
ui->serial_stopbit->setEnabled(true);
ui->serial_Btn_update_Com->setEnabled(true);
}
else if(ui->serial_button->text() == "Close") //Com处于开启状态
{
ui->serial_Com->setDisabled(true);
ui->serial_baud->setDisabled(true);
ui->serial_databit->setDisabled(true);
ui->serial_flowcontrol->setDisabled(true);
ui->serial_parity->setDisabled(true);
ui->serial_stopbit->setDisabled(true);
ui->serial_Btn_update_Com->setDisabled(true);
}
}
void mySetup::on_serial_button_clicked()
{
get_serialport_config();
if(ui->serial_button->text() == "Open") //当前close
{
int ret = QMessageBox::information(this,"提示","配置完成",QMessageBox::Ok,QMessageBox::Cancel);
if(QMessageBox::Ok == ret)
{
emit serial_config_Ok(true);
QString sym = " , ";
QString str = g_serialport_config.g_com + sym + g_serialport_config.g_speed + \
sym + g_serialport_config.g_databit + sym + g_serialport_config.g_stopbit +\
sym + g_serialport_config.g_parity + sym + g_serialport_config.g_flowcontrol;
emit serial_message(str);
qDebug() << "-------------------已发送打开Com命令------------";
ui->serial_button->setText("Close");
this->close();
}
}
else if(ui->serial_button->text() == "Close")
{
int ret = QMessageBox::information(this,"提示","确定关闭串口?",QMessageBox::Ok,QMessageBox::Cancel);
if(QMessageBox::Ok == ret)
{
emit serial_config_Ok(false);
QString str = "串口已关闭!";
emit serial_message(str);
ui->serial_button->setText("Open");
qDebug() << "-------------------已关闭Com------------";
this->close();
}
}
set_config_ui();
}
void mySetup::on_serial_Btn_update_Com_clicked()
{
ui->serial_Com->clear();
foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts())
{
ui->serial_Com->addItem(QString("%1") .arg(info.portName()));
}
}