Skip to content

Commit f7b4831

Browse files
committed
V2.6.2
调整界面布局,优化STM32,ESP32程序下载流程逻辑。
1 parent dd67e96 commit f7b4831

File tree

7 files changed

+1127
-829
lines changed

7 files changed

+1127
-829
lines changed

sources/Makefile

Lines changed: 946 additions & 424 deletions
Large diffs are not rendered by default.

sources/RYCOM.pro.user

Lines changed: 35 additions & 261 deletions
Large diffs are not rendered by default.

sources/main.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,19 @@ int main(int argc, char *argv[])
1515

1616
/************************************************
1717
********************编译说明*********************
18-
* 1. win或MAC下修改对应DPI参数,搜索工程中的PDI参赛初始化(mainwindow.cpp)
18+
*
19+
* 1. 根据不通过系统调整该函数输入参数refreshDPI(Windows/MACos/Linux),(mainwindow.cpp,第17行)
1920
* 2. release版本注销QT_DEBUG定义(ryesp32isp.h)
2021
*
2122
***********************************************/
2223

2324
/************************************************
2425
********************版本说明*********************
26+
*
27+
* 20250214 RYCOM 2.6.2.exe
28+
* 1.优化界面布局
29+
* 2.优化STM32,ESP32下载流程逻辑
30+
*
2531
* 20250214 RYCOM 2.6.1.exe
2632
* 1.修复MAC下进度条不显示百分比bug
2733
* 2.修复STM32串口下载期间,接收区继续显示串口数据bug

sources/mainwindow.cpp

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ MainWindow::MainWindow(QWidget *parent) :
1313
ui(new Ui::MainWindow)
1414
{
1515
ui->setupUi(this);
16-
17-
refreshDPI(); //根据dpi调整窗体大小
16+
//根据系统选择参数:Windows,MACos,Linux
17+
refreshDPI(MACos); //根据系统dpi调整窗体大小
1818
//connect(screen, &QScreen::logicalDotsPerInchChanged, this, &MainWindow::onLogicalDotsPerInchChanged);
1919
//失能和隐藏相应控件
2020
ui->pushButtonSend->setEnabled(false);//使相应的按钮不可用
@@ -27,7 +27,7 @@ MainWindow::MainWindow(QWidget *parent) :
2727

2828
ui->groupBoxRev->setFixedWidth(541*myobjectRate);//根据屏幕分辨率不一样固定接收组的大小
2929
ui->TextRev->setFixedWidth(521*myobjectRate);//根据屏幕分辨率不一样固定接收窗口的大小
30-
this->setFixedSize(729*myobjectRate,564*myobjectRate);//根据屏幕分辨率不一样固定主窗口的大小
30+
this->setFixedSize(729*myobjectRate,584*myobjectRate);//根据屏幕分辨率不一样固定主窗口的大小
3131

3232

3333
//创建周期发送、时间显示、延时接收定时器,并初始化
@@ -91,7 +91,7 @@ MainWindow::MainWindow(QWidget *parent) :
9191
qlbLinkRYMCU->setOpenExternalLinks(true);//状态栏显示官网、源码链接
9292
qlbLinkRYMCU->setText("<style> a {text-decoration: none} </style> <a href=\"https://rymcu.com\">--RYMCU官网--");// 无下划线
9393
qlbLinkSource->setOpenExternalLinks(true);
94-
qlbLinkSource->setText("<style> a {text-decoration: none} </style> <a href=\"https://github.com/rymcu/RYCOM\">--助手源代码V2.6.1--");// 无下划线
94+
qlbLinkSource->setText("<style> a {text-decoration: none} </style> <a href=\"https://github.com/rymcu/RYCOM\">--助手源代码V2.6.2--");// 无下划线
9595
//隐藏进度条
9696
ui->progressBar->setVisible(false);
9797
//串口指示灯设置为只读控件,屏蔽鼠标点击事件
@@ -1137,15 +1137,31 @@ void MainWindow::SendDataByNoOfEditLineNo(int EditLineNo)
11371137
*刷新dpi,获取当前屏幕状态,并伸缩所用控件的大小
11381138
*只在窗口构造函数中调用,因此,改变屏幕分辨率需要重新启动软件
11391139
***********************************************************/
1140-
void MainWindow::refreshDPI()
1140+
void MainWindow::refreshDPI(SYS_TYPE system)
11411141
{
11421142
//计算dpi
11431143
QList<QScreen*> screens = QApplication::screens();
11441144
QScreen* screen = screens[0];
11451145
qreal dpi = screen->logicalDotsPerInch();
11461146

11471147
//计算dpi对应的缩放比例,96win,72mac
1148-
double objectRate = dpi/96.0;//72
1148+
double sys_type;
1149+
switch (system)
1150+
{
1151+
case Windows:
1152+
sys_type = 96.0;
1153+
break;
1154+
case MACos:
1155+
sys_type = 72.0;
1156+
break;
1157+
case Linux:
1158+
sys_type = 96.0;
1159+
break;
1160+
default:
1161+
sys_type = 96.0;
1162+
break;
1163+
}
1164+
double objectRate = dpi/sys_type;
11491165
myobjectRate=objectRate;
11501166
changeObjectSize(*this, objectRate);
11511167
resize(width()*objectRate,height()*objectRate);
@@ -1210,19 +1226,24 @@ void MainWindow::ResumeFormESP32ISP(void)
12101226
void MainWindow::on_pushButton_RYISP_clicked()
12111227
{
12121228
static uint8_t flag_stm32 = 0;
1229+
if(!MyCom.isOpen())
1230+
{
1231+
QMessageBox::critical(this, "提示", "请先打开串口!");
1232+
return;
1233+
}
12131234
ui->progressBar->setVisible(false);//隐藏进度条
12141235
flag_stm32++;
12151236
if(flag_stm32%2)
12161237
{
1217-
ui->groupBox_stm32->move(190*myobjectRate,395*myobjectRate);
1238+
ui->groupBox_stm32->move(180*myobjectRate,382*myobjectRate);
12181239
ui->groupBoxSend->hide();
12191240
}
12201241
else
12211242
{
1222-
ui->groupBox_stm32->move(190*myobjectRate,720*myobjectRate);
1243+
ui->groupBox_stm32->move(180*myobjectRate,720*myobjectRate);
12231244
ui->groupBoxSend->show();
12241245
}
1225-
ui->groupBox_esp32->move(190*myobjectRate,596*myobjectRate);//显示STM32下载框时,确保ESP32框不可见
1246+
ui->groupBox_esp32->move(180*myobjectRate,596*myobjectRate);//显示STM32下载框时,确保ESP32框不可见
12261247
}
12271248

12281249
/***********************************************************
@@ -1751,6 +1772,11 @@ void MainWindow::timer_FileChanged()
17511772
void MainWindow::on_pushButton_ESP32ISP_clicked()
17521773
{
17531774
static uint8_t flag = 0;
1775+
if(!MyCom.isOpen())
1776+
{
1777+
QMessageBox::critical(this, "提示", "请先打开串口!");
1778+
return;
1779+
}
17541780
ui->progressBar_BOOT_Combine->setVisible(false);//隐藏进度条
17551781
ui->progressBar_PART->setVisible(false);
17561782
ui->progressBar_APP->setVisible(false);
@@ -1764,15 +1790,15 @@ void MainWindow::on_pushButton_ESP32ISP_clicked()
17641790
flag++;
17651791
if(flag%2)
17661792
{
1767-
ui->groupBox_esp32->move(190*myobjectRate,395*myobjectRate);
1793+
ui->groupBox_esp32->move(180*myobjectRate,382*myobjectRate);
17681794
ui->groupBoxSend->hide();
17691795
}
17701796
else
17711797
{
1772-
ui->groupBox_esp32->move(190*myobjectRate,596*myobjectRate);
1798+
ui->groupBox_esp32->move(180*myobjectRate,596*myobjectRate);
17731799
ui->groupBoxSend->show();
17741800
}
1775-
ui->groupBox_stm32->move(190*myobjectRate,720*myobjectRate);//显示ESP32下载框时,确保STM32框不可见
1801+
ui->groupBox_stm32->move(180*myobjectRate,720*myobjectRate);//显示ESP32下载框时,确保STM32框不可见
17761802

17771803
s_target = (target_chip_t)ui->comboBoxCheck_ESP32->currentIndex();//初始化芯片型号
17781804
}

sources/mainwindow.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,13 @@
2525
#include <QSettings>
2626

2727
extern QSerialPort MyCom;//串口对象,项目中唯一的串口对象
28-
28+
//运行的操作系统
29+
enum SYS_TYPE
30+
{
31+
Windows,
32+
MACos,
33+
Linux
34+
};
2935
namespace Ui {
3036
class MainWindow;
3137
}
@@ -160,7 +166,7 @@ private slots:
160166
QString byteArrayToUnicode(const QByteArray &array);//编码格式转换
161167

162168
void changeObjectSize(const QObject &o, double objectRate);//调整控件大小
163-
void refreshDPI();//刷新界面
169+
void refreshDPI(SYS_TYPE system);//刷新界面
164170
QScreen* screen;
165171
double myobjectRate;//dpi比例,用于调整主窗口的大小
166172
char ISisping;//1:表示正在进行STM32程序下载,2:表示正在进行ESP32程序下载

0 commit comments

Comments
 (0)