名称优化

This commit is contained in:
2026-08-02 03:43:40 +08:00
parent cd45ffe6de
commit 0fc969c85d
7 changed files with 923 additions and 162 deletions
+36 -36
View File
@@ -9,59 +9,59 @@
#include "../component/ShowTime.h"
#include "../Global.h"
#include "../menu/BaseWidgetMenu.h"
#include "Demo_Gallery/base/export.h"
#include "module/radio/Tool.h"
QWidget* Sweep_Frequency_Widget::create_spectrogram_power_plot() {
class Sweep_Frequent_Plot : public renderive::Latency_Eager_Plot {
class Sweep_Frequency_Plot : public renderive::Latency_Eager_Plot {
public:
std::shared_ptr<renderive::Axis> x_axis{};
std::shared_ptr<renderive::Axis> y_axis{};
std::shared_ptr<renderive::Multi_Select_Rect> msr{};
std::shared_ptr<renderive::Sweep_Frequency> sf{};
std::shared_ptr<renderive::Selection_Rectangle_Overlay> msr{};
std::shared_ptr<renderive::Sweep_Spectrum> sf{};
QMenu* menu{};
void init() override {
Latency_Eager_Plot::init();
object_name = "Axis_Test_Plot";
auto data = create_renderable_node(get_root_renderable(), "Data_Renderable");
auto x_axis_cache = create_renderable_node(get_root_renderable(), "X_Axis_Cache");
auto y_axis_cache = create_renderable_node(get_root_renderable(), "Y_Axis_Cache");
auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable");
auto data = create_renderable_node(root_renderable(), "Data_Renderable");
auto x_axis_cache = create_renderable_node(root_renderable(), "X_Axis_Cache");
auto y_axis_cache = create_renderable_node(root_renderable(), "Y_Axis_Cache");
auto overlay = create_renderable_node(root_renderable(), "Overlay_Renderable");
x_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
y_axis_cache->set_cache_mode(renderive::Renderable_Cache_Mode::Local_Pixel);
x_axis = renderive::Axis::Builder(x_axis_cache, renderive::Orientation::Horizontal)
.set_coord_range({0, 100})
.set_tick_length(-10).build();
.set_coord_range({0, 100})
.set_tick_length(-10).build();
y_axis = renderive::Axis::Builder(y_axis_cache, renderive::Orientation::Vertical)
.set_coord_range({100, 0})
.set_tick_length(-10).build();
sf = renderive::Sweep_Frequency::Builder(data, x_axis, y_axis)
.set_coord_range({100, 0})
.set_tick_length(-10).build();
sf = renderive::Sweep_Spectrum::Builder(data, x_axis, y_axis)
.set_block_num(200)
.set_block_frequency_point_size(20)
.set_bins_per_block(20)
.set_frequency_range({0, 100})
.build();
msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build();
msr = renderive::Selection_Rectangle_Overlay::Builder(overlay, x_axis, y_axis).build();
}
protected:
void resizeEvent(QResizeEvent* event) override {
x_axis->set_x(0);
x_axis->set_y(height() - 1);
x_axis->set_pixel_size(width());
x_axis->set_pixel_length(width());
y_axis->set_x(0);
y_axis->set_y(0);
y_axis->set_pixel_size(height());
y_axis->set_pixel_length(height());
}
void contextMenuEvent(QContextMenuEvent* event) override {
if (!menu) {
auto ws = concat_widgets(
bw(cw(sf.get(), -1), "扫频图"),
bw(cw(x_axis.get()), "x轴"),
bw(cw(y_axis.get()), "y轴"),
bw(cw(msr.get()), "多选框"));
bw(cw(sf.get(), -1), "扫频图"),
bw(cw(x_axis.get()), "x轴"),
bw(cw(y_axis.get()), "y轴"),
bw(cw(msr.get()), "多选框"));
menu = create_menu(this, ws);
}
menu->exec(event->globalPos());
}
};
auto w = new Sweep_Frequent_Plot;
auto w = new Sweep_Frequency_Plot;
w->init();
sweep_frequency_line = w->sf;
return w;
@@ -76,21 +76,21 @@ Sweep_Frequency_Widget::Sweep_Frequency_Widget(QWidget* parent) : Base_Widget(pa
m4 = create_normal("MODEM\nRTTY", font_size);
select_value_widget = new Frequent_Shower(this);
progress_bar1 = new Progress_Bar({
{"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);
{"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);
progress_bar2 = new Progress_Bar({
{"1", Qt::black},
{"2", Qt::yellow},
{"3", Qt::red},
{">5", Qt::red},
}, this);
{"1", Qt::black},
{"2", Qt::yellow},
{"3", Qt::red},
{">5", Qt::red},
}, this);
auto main = create_vbox_layout({}, this);
main->addStretch(1);
{