#pragma once #include "../../Renderive/base/Tool.h" static QWidget* create_frequent_axis_test_plot() { class Axis_Test_Plot : public renderive::Plot { public: std::shared_ptr axis{}; QMenu* menu{}; void init() override { Plot::init(); object_name = "Axis_Test_Plot"; auto axis_node = create_renderable_node(get_root_renderable(), "Axis_Renderable"); axis = renderive::Frequency_Axis::Builder(axis_node, Qt::Horizontal) .set_tick_length(-10) .set_sub_tick_length(-5) .set_coord_range({-12000, 12000}) .build(); } protected: void resizeEvent(QResizeEvent* event) override { int space = 50; axis->set_x(space); axis->set_y(height() / 2); axis->set_pixel_size(width() - space * 2); } void contextMenuEvent(QContextMenuEvent* event) override { if (!menu) { auto ws = bw(cw(axis.get()), "轴"); menu = create_menu(this, ws); } menu->exec(event->globalPos()); } }; auto w = new Axis_Test_Plot; w->init(); return w; }