结构更新

This commit is contained in:
2026-07-24 09:17:13 +08:00
parent a13a0e15f2
commit 7091ff5d79
6 changed files with 244 additions and 364 deletions
+34 -52
View File
@@ -10,36 +10,29 @@
#include "../component/ShowTime.h"
#include "../Global.h"
#include "../menu/BaseWidgetMenu.h"
#include "YSGraphic_Core/DemoGallery/Tool.h"
#include "YSGraphic_Core/Demo_Gallery/export.h"
QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() {
class SweepFrequentPlot : public YSG::Plot {
public:
YSG::Axis *xAxis{};
YSG::Axis *yAxis{};
YSG::Muti_Select_Rect *msr{};
YSG::Axis* xAxis{};
YSG::Axis* yAxis{};
YSG::Muti_Select_Rect* msr{};
YSG::Sweep_Frequent* sf{};
QMenu *mMenu{};
QMenu* mMenu{};
void init() override {
Plot::init();
object_name = "AxisTestPlot";
xAxis = YSG::Axis::Builder(this, Qt::Horizontal)
.set_coord_range({0, 100})
.set_tick_length(-10).build();
.set_coord_range({0, 100})
.set_tick_length(-10).build();
yAxis = YSG::Axis::Builder(this, Qt::Vertical)
.set_coord_range({100, 0})
.set_tick_length(-10).build();
.set_coord_range({100, 0})
.set_tick_length(-10).build();
sf = YSG::Sweep_Frequent::Builder(xAxis, yAxis)
.set_block_num(200)
.set_block_frequent_point_size(20)
.set_frequent_range({0 , 100})
.build();
.set_block_num(200)
.set_block_frequent_point_size(20)
.set_frequent_range({0, 100})
.build();
msr = YSG::Muti_Select_Rect::Builder(xAxis, yAxis).build();
}
protected:
@@ -52,7 +45,7 @@ QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() {
yAxis->set_pixel_size(height());
}
void contextMenuEvent(QContextMenuEvent* event) override {
if(!mMenu) {
if (!mMenu) {
auto ws =
bw(cw(sf, -1), "扫频图") +
bw(cw(xAxis), "x轴") +
@@ -68,9 +61,8 @@ QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() {
mSweepFrequencyLine = w->sf;
return w;
}
//mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A
SweepFrequencyWidget::SweepFrequencyWidget(QWidget *parent) : BaseWidget(parent) {
SweepFrequencyWidget::SweepFrequencyWidget(QWidget* parent) : BaseWidget(parent) {
setObjectName("扫频界面");
int fontSize = 20;
m1 = createNormal("RF Gain\n62", fontSize);
@@ -79,25 +71,25 @@ SweepFrequencyWidget::SweepFrequencyWidget(QWidget *parent) : BaseWidget(parent)
m4 = createNormal("MODEM\nRTTY", fontSize);
mSelectValueWidget = new FrequentShower(this);
mProgressBar1 = new ProgressBar({
{"S", Qt::black},
{"3", Qt::black},
{"5", Qt::black},
{"7", Qt::black},
{"9", Qt::black},
{"+20", Qt::yellow},
{"+40", Qt::yellow},
{"+60", Qt::red},
{"S", Qt::black},
{"3", Qt::black},
{"5", Qt::black},
{"7", Qt::black},
{"9", Qt::black},
{"+20", Qt::yellow},
{"+40", Qt::yellow},
{"+60", Qt::red},
}, this);
mProgressBar2 = new ProgressBar({
{"1", Qt::black},
{"2", Qt::yellow},
{"3", Qt::red},
{">5", Qt::red},
{"1", Qt::black},
{"2", Qt::yellow},
{"3", Qt::red},
{">5", Qt::red},
}, this);
auto main = createVBoxLayout({}, this);
main->addStretch(1);
{ // 中心Layout
{
// 中心Layout
auto center = createHBoxLayout();
main->addLayout(center, 7);
auto front = createVBoxLayout();
@@ -129,33 +121,23 @@ SweepFrequencyWidget::SweepFrequencyWidget(QWidget *parent) : BaseWidget(parent)
main->addWidget(createSpectrogramPowerPlot(), 24);
initMenu();
}
SweepFrequencyWidget::~SweepFrequencyWidget() {
}
void SweepFrequencyWidget::focusInEvent(QFocusEvent *event) {
SweepFrequencyWidget::~SweepFrequencyWidget() {}
void SweepFrequencyWidget::focusInEvent(QFocusEvent* event) {
QWidget::focusInEvent(event);
mSelectValueWidget->setFocus();
}
void SweepFrequencyWidget::initMenu() {
int fontSize = 30;
auto startFreq = new ValueMenuButton("起始频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add){
auto startFreq = new ValueMenuButton("起始频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) {
that->setValue(that->mValue + (double)(add ? 1 : -1));
}, -1);
startFreq->setValue(mSweepFrequencyLine->frequent_range().lower);
auto endFreq = new ValueMenuButton("终止频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add){
auto endFreq = new ValueMenuButton("终止频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) {
that->setValue(that->mValue + (double)(add ? 1 : -1));
}, -1);
endFreq->setValue(mSweepFrequencyLine->frequent_range().upper);
auto btn3 = new MenuButton("设置频率", fontSize, [&, startFreq, endFreq](){
auto btn3 = new MenuButton("设置频率", fontSize, [&, startFreq, endFreq]() {
mSweepFrequencyLine->set_frequent_range({startFreq->mValue, endFreq->mValue});
});
mBaseWidgetMenu->addMenuButtonOnLayout1({startFreq, endFreq, btn3}, 2);
}