2 Star 1 Fork 0

STARRY/uart_pc_tool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main_windw.cpp 3.18 KB
一键复制 编辑 原始数据 按行查看 历史
STARRY 提交于 2024-08-24 17:25 . 添加了表格的存取
#include "main_windw.h"
#include "ui_main_windw.h"
#include <QGuiApplication>
#include <QtQuickWidgets/QQuickWidget>
#include <QtNetwork>
#include "my_client.h"
#include "QMessageBox"
Main_windw::Main_windw(QWidget *parent)
: QMainWindow(parent), ui(new Ui::Main_windw)
{
ui->setupUi(this);
Init_Port(); // 初始化串口
Init_param(); // 初始化参数结构体
Load_sys_params();
// 连接信号和槽,每当捕获到键盘事件时更新标签的内容
if (init_param.run_mode == E_RUN_MODE_SERVER)
{
Open_server();
}
else if (init_param.run_mode == E_RUN_MODE_CLIENT)
{
Open_client();
}
connect(this, &Main_windw::Data_parse_signal, this, &Main_windw::Data_parse_slot);
}
void Main_windw::Close_server(void)
{
if (my_server)
{
my_server->close();
delete my_server;
my_server = NULL;
ui->groupBox_server->setTitle("服务器");
ui->pushButton_connect_server->setEnabled(true);
qDebug() << "Close_server ";
}
}
void Main_windw::Open_server(void)
{
if (!my_server)
{
my_server = new Server(this);
connect(my_server, &Server::RecvDataSignal, this, &Main_windw::server_recv);
connect(my_server, &Server::ConnectedSignal, this, &Main_windw::server_connect);
connect(my_server, &Server::DisconnectedSignal, this, &Main_windw::server_disconnect);
ui->groupBox_server->setTitle("本机服务器IP: " + my_server->HostAddr);
ui->pushButton_connect_server->setEnabled(false);
qDebug() << "Open_server ";
}
}
void Main_windw::Close_client(void)
{
if (client)
{
client->disconnectFromHost();
client->close();
delete client;
client = NULL;
qDebug() << "Close_client ";
}
}
void Main_windw::Open_client(void)
{
if (!client)
{
client = new Client(this);
connect(client, &Client::RecvSignal, this, &Main_windw::client_recv);
connect(client, &Client::ConnectedSignal, this, &Main_windw::client_connect);
connect(client, &Client::DisconnectedSignal, this, &Main_windw::client_disconnect);
qDebug() << "Open_client ";
}
}
Main_windw::~Main_windw()
{
set_sys_params(init_param);
delete ui;
}
int getRandom(int min, int max)
{
qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
int num = qrand() % (max - min);
qDebug() << num + min;
return num;
}
/*
* 弹窗显示,显示在软件窗口中心区域
*/
int Main_windw::show_my_tips(QString tital, QString text, int state)
{
QPoint center = this->frameGeometry().center();
int x = center.x() + 200; // 将横坐标增加100
int y = center.y() + 200; // 将纵坐标增加100
center = QPoint(x, y);
QMessageBox msgBox;
msgBox.setWindowTitle(tital);
msgBox.setText(text);
if (state)
{
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
}
else
{
msgBox.setStandardButtons(QMessageBox::Yes);
}
msgBox.setDefaultButton(QMessageBox::No);
msgBox.move(center - msgBox.rect().center());
if (msgBox.exec() == QMessageBox::Yes)
{
return 1;
}
else
{
return 0;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/gin521/uart_pc_tool.git
git@gitee.com:gin521/uart_pc_tool.git
gin521
uart_pc_tool
uart_pc_tool
master

搜索帮助