Functional page processing method based on componentization configuration
By adopting a functional page processing method based on component-based configuration in the securities trading client, the problems of high development coupling degree and low flexibility in customer custom functions in the existing technology are solved, and dynamic and flexible functional page management is realized, reducing development complexity and workload.
Patent Information
- Application Number
- CN202411841388.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-05-13
AI Technical Summary
When existing securities trading clients display different functional pages to different customer groups, they need software personnel to participate in the development of different page functions, resulting in high development coupling, large workload, and low flexibility in customer custom function modules, which cannot meet customers' personalized needs.
The functional page processing method based on component-based configuration is adopted, including layout management, configuration management and communication management. The layout is customized through drag and drop, and dynamic layout adjustments between components and custom communication methods are supported to realize dynamic and flexible configuration of the function page.
It provides a set of dynamic and flexible, component-based development, low-coupling of component sharing, embedded layout of drag-and-drop mode, and customized component communication, which reduces development complexity and workload, and improves the flexibility and application effect of customer custom functions.
Smart Images

Figure CN119987761A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of component development, in particular to the field of securities trading, and specifically refers to a component-based configurable function page processing method. Background Art
[0002] Securities trading software is a software client that supports many functions, involves a wide range of businesses, and has a diverse customer base. For different client groups, due to the different businesses and customer behavior habits, the functional layout and business that need to be displayed to customers are often different. At present, most of the securities trading clients on the market are mainly developed based on function pages. If different function pages are displayed to different customer groups, software personnel need to participate in the development of different page functions and provide different clients to achieve this. Even if there are securities trading clients on the market that are developed in a componentized manner, most of the function pages in the module use the components of this module. When the function page needs to use components from different modules, the coupling degree of the module needs to be increased. The high coupling degree of software development also increases the workload of developers. In addition to fixed function pages, most clients also provide customized function modules, but the flexibility of customer customized modules is low, and the layout cannot be displayed according to the customer's own preferences. For example, in a customized function page, customers hope to have fixed-size components and variable-size components. In the customized layout, customers hope that the communication between components is different. Customers want to drag out the pop-up mode and interact with the main interface, etc., but it is difficult to find software that meets all the above functions on the market now. Summary of the invention
[0003] The purpose of the present invention is to overcome the above-mentioned shortcomings of the prior art and provide a method for component-based configurable function page processing.
[0004] In order to achieve the above object, the method of component-based configurable function page processing of the present invention is as follows:
[0005] The main feature of the method based on component-based configurable function page processing is that the method comprises:
[0006] Layout management: involves creating function pages, dragging function page components, dynamically displaying different layouts of function pages according to types, and setting up quick opening of function pages;
[0007] Configuration management: used for unified management of function page configuration information, shortcut key usage configuration information and customer-defined information reading, modifying and saving;
[0008] Communication management: involves message interaction between components, message interaction between components and functional pages, and message interaction between components and client frameworks.
[0009] Preferably, the method described uses a drag-and-drop method to customize the layout management.
[0010] Preferably, the layout management specifically includes:
[0011] Dock: the top-level module of the interface management layer;
[0012] QSplitter: responsible for the layout management of embedded components, embedded Area or QSplitter; Area is the component operation area, with the tab button and components at the top; and dockWidget, the docking area for components.
[0013] Preferably, the layout management includes dragging the pop-up box to create an interface in the following manner:
[0014] Place the cursor on the tab, press the left mouse button and drag the mouse, a pop-up dock will be automatically created and named floatDock. At the same time, a dragged dockWidget will be copied and embedded into the floatDock, and the interface will be set to semi-transparent.
[0015] Save the pointer of the dock on the floatingDock, and respond to the onMoving signal of the floatingDock in real time during the dragging process. In the onMoving signal, check whether the current cursor is on the dock or the area of the dock. If so, display the current top, bottom, left, right, and center areas that can be inserted on the area and dock. When the cursor is in the five areas, the position of the docking area is displayed by default. If the mouse is released at this time, the dockWidget is inserted; if the mouse is not released in the dock or area, the floatingDock pops up.
[0016] On each dock, a variable layer is saved to store the dock and the dock's display level on the screen, and the global signal is monitored through the framework layer. If the dock is activated, the layer is set to 0, and the layers of other docks are increased by 1.
[0017] When the floatingDock is dragged, it not only determines its area in the dock, but also checks whether it is in the area of other docks. If the areas overlap, the layer with a smaller value is prioritized and the insertable area is displayed.
[0018] Preferably, the method described above saves the interface layout in the following manner:
[0019] The flexible screen is saved in XML format, and is saved in four levels: dock->Splitter->Area->Widget. The size of each component in the area is saved according to the displayed size. The dock level is used to display whether the current interface is a pop-up dock. All dock configurations are saved locally with the name of the menu. The splitter level saves the horizontal or vertical layout properties. The Area saves the properties of whether the component is a zoomable component. The Widget level saves the function ID and group ID.
[0020] Preferably, the layout management also includes a data structure for storing flexible screen management modules and opening hierarchies, wherein each layout management module retains a pointer to the current data and, during the component dragging process, gives priority to matching the layout management module currently in use; if the component has been dragged out of the range of the activated layout management module, the component is matched according to the priority order of the functional module hierarchy to see whether it can be embedded in the corresponding functional module; when the component is dragged to the corresponding functional page, the functional page will pin the component to the top.
[0021] Preferably, the configuration management specifically performs the following processing:
[0022] When opening a function page, first obtain the function page configuration information according to the menu, and then queue the components in a hierarchical priority manner according to the XML format configuration; the data structure of each data in the queue includes the right dockWidget, direction dockArea, component display type viewType, component layout method sizePoicy on the function page, fixed component size value fixSize, spacing handleWidth between components, the previous interface beforeArea corresponding to the component insertion, component base class baseWidget, and component lastSize information; among them, dockWidget is the upper window of baseWidget, dockArea is the creation direction of the component, viewType is used to control whether the window is displayed, sizePoicy is used to control the scaling method of the component when the function page is zoomed in and out, and is of QSizePolicy type, and lastSize is used to restore the adjustment after the interface dynamically adjusts the size of the previous interface.
[0023] Preferably, the communication management specifically performs the following processing:
[0024] The message subscription method is used to solve the problem of message communication. The subscription is divided into two levels: group and topic. The group is divided into four levels: global, screen, innerscreen and custom. Among them, global is used for global communication, screen is used for communication between the function page of the screen and the framework in multiple screens, innerscreen is used for communication between components within the function page, and custom group is used to allow customers to customize the communication method between components, which can replace the innerscreen level.
[0025] For topics, data from different topics will be subscribed on demand according to the business logic of the component, and different logic will be processed by receiving subscribed messages; and
[0026] Components can send corresponding data to different groups and topics as needed.
[0027] Preferably, the method further comprises: when all function pages are created, automatically saving the layout parameters of the function pages when the interface is closed, and automatically creating the components, layout and communication group information according to the configuration information when the interface is opened next time; and
[0028] Before creating a function page, it also includes reading configuration parameters first, putting the function page creation component order, direction and area relative to the previous component into the pointer queue, and then creating the function page according to the attributes of the pointer queue, setting the layout and adjusting the size.
[0029] The method of component-based configurable function page processing of the present invention is adopted to provide a dynamic and flexible, component-based development, component sharing low coupling, drag-and-drop embedded layout, custom component communication, efficient operation, and configurable function page management framework, which is well applied in securities trading clients. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 A schematic diagram of custom layout management based on the component-based configurable function page processing method of the present invention.
[0031] Figure 2 A schematic diagram of displaying a stock details page based on the component-based configurable function page processing method of the present invention.
[0032] Figure 3 A schematic diagram of component insertion according to the component-based configurable function page processing method of the present invention.
[0033] Figure 4 It is a schematic diagram of the internal adjustment of the function page based on the component-based configurable function page processing method of the present invention.
[0034] Figure 5 This is a schematic diagram of the changes in switching index layout and component display based on the component-based configurable function page processing method of the present invention.
[0035] Figure 6 A schematic diagram of generating function page configuration information based on the component-based configurable function page processing method of the present invention. DETAILED DESCRIPTION
[0036] In order to more clearly describe the technical content of the present invention, further description is given below in conjunction with specific embodiments.
[0037] Before describing in detail embodiments according to the present invention, it should be noted that, hereinafter, the terms "comprises", "includes" or any other variations are intended to cover non-exclusive inclusion, whereby a process, method, article or apparatus comprising a series of elements includes not only these elements, but also other elements not explicitly listed or inherent to such process, method, article or apparatus.
[0038] The method for component-based configurable function page processing, wherein the method comprises:
[0039] Layout management: involves creating function pages, dragging function page components, dynamically displaying different layouts of function pages according to types, and setting up quick opening of function pages;
[0040] Configuration management: used for unified management of function page configuration information, shortcut key usage configuration information and customer-defined information reading, modifying and saving;
[0041] Communication management: involves message interaction between components, message interaction between components and functional pages, and message interaction between components and client frameworks.
[0042] As a preferred embodiment of the present invention, the method described uses a drag-and-drop method to customize the layout management.
[0043] As a preferred embodiment of the present invention, the layout management specifically includes:
[0044] Dock: the top-level module of the interface management layer;
[0045] QSplitter: responsible for the layout management of embedded components, embedded Area or QSplitter; Area is the component operation area, with the tab button and components at the top; and dockWidget, the docking area for components.
[0046] As a preferred embodiment of the present invention, the layout management includes dragging the pop-up box to create an interface in the following manner:
[0047] Place the cursor on the tab, press the left mouse button and drag the mouse, a pop-up dock will be automatically created and named floatDock. At the same time, a dragged dockWidget will be copied and embedded into the floatDock, and the interface will be set to semi-transparent.
[0048] Save the pointer of the dock on the floatingDock, and respond to the onMoving signal of the floatingDock in real time during the dragging process. In the onMoving signal, check whether the current cursor is on the dock or the area of the dock. If so, display the top, bottom, left, right, and center areas that can be inserted on the area and dock. When the cursor is in the five areas, the position of the docking area is displayed by default. If the mouse is released at this time, the dockWidget is inserted; if the mouse is not released in the dock or area, the floatingDock pops up.
[0049] On each dock, a variable layer is saved to store the dock and the dock's display level on the screen, and the global signal is monitored through the framework layer. If the dock is activated, the layer is set to 0, and the layers of other docks are increased by 1.
[0050] When the floatingDock is dragged, it not only determines its area in the dock, but also checks whether it is in the area of other docks. If the areas overlap, the layer with a smaller value is prioritized and the insertable area is displayed.
[0051] As a preferred embodiment of the present invention, the method described herein saves the interface layout in the following manner:
[0052] The flexible screen is saved in XML format, and is saved in four levels: dock->Splitter->Area->Widget. The size of each component in the area is saved according to the displayed size. The dock level is used to display whether the current interface is a pop-up dock. All dock configurations are saved locally with the name of the menu. The splitter level saves the horizontal or vertical layout properties. The Area saves the properties of whether the component is a zoomable component. The Widget level saves the function ID and group ID.
[0053] As a preferred embodiment of the present invention, the layout management also includes a data structure for storing flexible screen management modules and opening hierarchies, wherein each layout management module retains a pointer to the current data, and during the component dragging process, gives priority to matching the layout management module currently in use. If the component has been dragged out of the scope of the activated layout management module, the component is matched according to the priority order of the functional module hierarchy to see whether it can be embedded in the corresponding functional module; when the component is dragged to the corresponding functional page, the functional page will pin the component to the top.
[0054] As a preferred embodiment of the present invention, the configuration management specifically performs the following processing:
[0055] When opening a function page, first obtain the function page configuration information according to the menu, and then queue the components in a hierarchical priority manner according to the XML format configuration; the data structure of each data in the queue includes the right dockWidget, direction dockArea, component display type viewType, component layout method sizePoicy on the function page, fixed component size value fixSize, spacing handleWidth between components, the previous interface beforeArea corresponding to the component insertion, component base class baseWidget, and component lastSize information; among them, dockWidget is the upper window of baseWidget, dockArea is the creation direction of the component, viewType is used to control whether the window is displayed, sizePoicy is used to control the scaling method of the component when the function page is zoomed in and out, and is of QSizePolicy type, and lastSize is used to restore the adjustment after the interface dynamically adjusts the size of the previous interface.
[0056] As a preferred embodiment of the present invention, the communication management specifically performs the following processing:
[0057] The message subscription method is used to solve the problem of message communication. The subscription is divided into two levels: group and topic. The group is divided into four levels: global, screen, innerscreen and custom. Among them, global is used for global communication, screen is used for communication between the function page of the screen and the framework in multiple screens, innerscreen is used for communication between components within the function page, and custom group is used to allow customers to customize the communication method between components, which can replace the innerscreen level.
[0058] For topics, data from different topics will be subscribed on demand according to the business logic of the component, and different logic will be processed by receiving subscribed messages; and
[0059] Components can send corresponding data to different groups and topics as needed.
[0060] As a preferred embodiment of the present invention, the method further comprises: when all function pages are created, the layout parameters of the function pages are automatically saved when the interface is closed, and when the interface is opened next time, the information of components, layout and communication groups is automatically created according to the configuration information; and
[0061] Before creating a function page, it also includes reading configuration parameters first, putting the function page creation component order, direction and area relative to the previous component into the pointer queue, and then creating the function page according to the attributes of the pointer queue, setting the layout and adjusting the size.
[0062] The present invention mainly consists of three parts: layout management, configuration management and communication management. In order to ensure the processing of one code with multiple terminals, the present method uses Qt as the development platform of the present invention.
[0063] Layout management: Layout management involves the creation of function pages, dragging of function page components, dynamic display of different layouts according to the type of function page, and how to quickly open a function page.
[0064] Configuration management: used for reading and writing XML files and other configuration files;
[0065] Communication management: Communication management involves message interaction between components, message interaction between components and functional pages, and message interaction between components and client frameworks.
[0066] The present invention uses a drag-and-drop method to customize the layout management. The overall layout is as follows Figure 1 As shown,
[0067] Dock is the top-level module of the interface management layer. QSplitter is responsible for the layout management of embedded components. Area and QSplitter can be embedded in it. Area is the component operation area. The top is the tab and the common button operation of the component. For example, if you need to drag a component out, just click the area and drag it directly to drag out a virtual component activated in the current Area. If there are multiple components in an area, you can activate different components by clicking the tab. The right side of the area is the operation button for the component. DockWidget is the docking area for components.
[0068] How to create a pop-up window when dragging out: When the cursor is on the tab, press the left mouse button and then drag the mouse to automatically create a pop-up dock named floatDock. At the same time, copy a dragged dockWidget and embed it on the floatDock. The interface is set to be translucent. At the same time, the pointer of the dock is saved on the floatDock. During the dragging process, respond to the onMoving signal of the floatDock in real time, and then check whether the cursor is on the dock or the area of the dock in onMoving. If so, display the top, bottom, left, right, and center areas that can be inserted on the area and dock. When the cursor is in the five areas, the position of the dock area is displayed by default. If the mouse is released, the dockWidget is inserted. If the mouse is not released in the dock or area, the floatDock pops up. On each dock, save a variable layer that saves the dock and the dock display level on the screen. The framework layer listens to the global signal. If the dock is activated, the layer is set to 0, and the layer of other docks is increased by 1. When dragging, FloatDock not only determines its area in the dock, but also checks whether it is in the area of other docks. If the areas overlap, the layer with the smaller value will be prioritized and the insertable area will be displayed.
[0069] The method of saving interface layout: The flexible screen saves in XML format, and is saved in four levels: dock->QSplitter->area->widget. The size is also displayed to save the size of each component in the area. The dock level also displays whether it is a pop-up dock. All dock configurations are saved locally with the name of the menu. The splitter level saves the properties of whether the layout is horizontal or vertical, the area saves properties such as whether the component is a zoomable component, and the widget level saves the function ID and group ID; among them, splitter is the configuration save file name of QSplitter.
[0070] Configuration loading and function page creation method: When opening the function page, first press the menu to obtain the function page configuration information, and then press the XML configuration to queue the components in a hierarchical priority manner. The data structure of each data in the queue includes dockWidget, direction dockArea, component display type viewType, component layout method sizePoicy on the function page, fixed component size value fixSize, spacing handleWidth between components, the previous interface beforeArea corresponding to the component insertion, component base class baseWidget, component lastSize and other information. dockWidget is the upper window of baseWidget, dockArea is the creation direction of the component (corresponding to beforeArea), viewType is used to control whether the window is displayed (for example, different securities information stock details pages display inconsistent components, so this parameter is used to control), sizePoicy is used to control the scaling method of the component when the function page is zoomed in and out, which is of QSizePolicy type, and lastSize is the size of the previous interface when the interface is dynamically adjusted, which is used to restore after adjustment.
[0071] The flexible dock function page layout is based on QSplite-based layout management. Therefore, the basic method of QSplite is used to determine whether the component is a fixed-size component through configuration parameters. The length and width of the component are also determined according to the size of the configuration value. For components with fixed layouts, there must be dynamically changing components to form a function page together, so as to ensure the integrity of the function page. For function pages that need to display layouts according to dynamic types, all components are created and an initial layout is given when the function page is created. Subsequently, whether to display components is dynamically adjusted according to the data type. Each component has an attribute that needs to display the data type. As long as the data type matches the configured attribute, it will be displayed. If it does not match, it will be hidden. This process also needs to be dynamically processed according to whether the component has a fixed layout. The specific logic of dynamic processing is for the horizontal layout module. If one or more components on the left are fixed layouts, then the components on the right are not fixed layouts. They can be enlarged and reduced horizontally with the enlargement and reduction of the interface. If one or more components on the right are fixed layouts, then the components on the left are variable components. For vertically laid out modules, if one or more components on the top are fixed layouts, then the components below are not fixed layouts and can be enlarged and reduced horizontally with the interface. If one or more components below are fixed layouts, then the components on the top are variable components. If all components are fixed layouts, the rightmost or bottommost component will automatically become a variable component to ensure the consistency of the overall interface.
[0072] In order to support the dragging and embedding of components in the function page in different function pages, a data structure for saving flexible screen management modules and opening hierarchies is added. Since a function page is a dock, securities clients generally support multiple screens. In order to support the dragging and embedding of dock components between different screens in the multi-screen situation, a data structure for saving all docks and hierarchies is required to ensure the perception when the component is dragged from one dock to another. Since the role of the hierarchy is that QT itself does not know the hierarchy of the interface in the screen, if there are multiple screens overlapping during the dragging process, we will prioritize the most recently used screen and display the prompt that it can be embedded (this logic is more in line with customer operations). Each layout management module retains the pointer to the data. During the component dragging process, the layout management module currently in use is matched first. If the component has been dragged out of the scope of the activated layout management module, the priority of the function module hierarchy is used to match whether the component can be embedded in the corresponding function module. Drag to the corresponding function page, and the function page will be pinned to the top to meet the user's usage habits. The priority matching logic is that the most recently activated page is matched first, which avoids the confusion of function module matching and is more consistent with customer behavior.
[0073] Communication management is used to solve the message interaction between components, between components and function pages, and between components and client frameworks. The solution adopts the message subscription method to solve the problem of message communication. Subscription is divided into two levels: group and topic. Group is divided into four levels: global, screen, innerscreen and custom. Global is used for global communication, screen is used for communication between the function page of the current screen and the framework in multiple screens, innerscreen is used for communication between components within the function page, and custom group allows customers to customize the communication method between components, mainly replacing the innerscreen level. For topics, developers subscribe to data from different topics on demand according to the business logic of the component, and process different logics by receiving subscribed messages. Components can also send corresponding data to different groups and topics as needed. The point to note in this process is that there should be no dead loop of message sending. When a component is dragged from one function page to another, the internal group relationship must also be changed together to be consistent with the internal group of the new function page.
[0074] After the function page is created, the layout parameters of the function page will be automatically saved when the interface is closed. The next time it is opened, the components, layout, communication groups and other information will be created according to the configured information. According to the logic of advanceDock, when opening a function page, an initial layout needs to be given and then the layout needs to be adjusted according to the configuration, so that it becomes the page we need. However, since this method requires two layout adjustments, when there are many components on the function page, there is a time loss in adjusting the layout. Therefore, before creating the function page, we first read the configuration parameters, put the function page creation component order, direction and area relative to the previous component into the pointer queue, and then create the function page according to the attributes of the pointer queue, set the layout and adjust the size. This avoids the time consumption of adjusting the layout twice and ensures the smoothness of opening the function page.
[0075] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code that includes one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present invention includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present invention belong.
[0076] It should be understood that each part of the present invention can be implemented by hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution device.
[0077] A person of ordinary skill in the art may understand that all or part of the steps of the method for implementing the above-mentioned embodiment may be completed by instructing the relevant hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one of the steps of the method embodiment or a combination thereof.
[0078] The storage medium mentioned above can be a read-only memory, a magnetic disk or an optical disk, etc.
[0079] In the description of this specification, the description with reference to the terms "an embodiment", "some embodiments", "example", "specific example", or "embodiment" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0080] Although the embodiments of the present invention have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present invention. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present invention.
[0081] The method of component-based configurable function page processing of the present invention is adopted to provide a dynamic and flexible, component-based development, component sharing low coupling, drag-and-drop embedded layout, custom component communication, efficient operation, and configurable function page management framework, which is well applied in securities trading clients.
[0082] In this specification, the present invention has been described with reference to specific embodiments thereof. However, it is apparent that various modifications and variations may be made without departing from the spirit and scope of the present invention. Therefore, the specification and drawings should be regarded as illustrative rather than restrictive.
Claims
1. A method for component-based configurable function page processing, characterized in that: The method includes: Layout management: involves creating function pages, dragging function page components, dynamically displaying different layouts of function pages according to types, and setting up quick opening of function pages; Configuration management: used for unified management of function page configuration information, shortcut key usage configuration information and customer-defined information reading, modifying and saving; Communication management: involves message interaction between components, message interaction between components and functional pages, and message interaction between components and client frameworks.
2. The method for component-based configurable function page processing according to claim 1, characterized in that: The method uses a drag-and-drop method to customize the layout management.
3. The method for component-based configurable function page processing according to claim 1, characterized in that: The layout management specifically includes: Dock: the top-level module of the interface management layer; QSplitter: responsible for the layout management of embedded components, embedded Area or QSplitter; Area is the component operation area, with the tab button and components at the top; and dockWidget, the docking area for components.
4. The method for component-based configurable function page processing according to claim 3, characterized in that: The layout management includes dragging the pop-up box to create the interface in the following manner: Place the cursor on the tab, press the left mouse button and drag the mouse, a pop-up dock will be automatically created and named floatDock. At the same time, a dragged dockWidget will be copied and embedded into the floatDock, and the interface will be set to translucent. Save the pointer of the dock on the floatingDock, and respond to the onMoving signal of the floatingDock in real time during the dragging process. In the onMoving signal, check whether the current cursor is on the dock or the area of the dock. If so, display the current top, bottom, left, right, and center areas that can be inserted on the area and dock. When the cursor is in the five areas, the position of the docking area is displayed by default. If the mouse is released at this time, the dockWidget is inserted; if the mouse is not released in the dock or area, the floatingDock pops up. On each dock, a variable layer is saved to store the dock and the dock's display level on the screen, and the global signal is monitored through the framework layer. If the dock is activated, the layer is set to 0, and the layers of other docks are increased by 1. When the floatingDock is dragged, it not only determines its area in the dock, but also checks whether it is in the area of other docks. If the areas overlap, the layer with a smaller value is prioritized and the insertable area is displayed.
5. The method for component-based configurable function page processing according to claim 3, characterized in that: The method described saves the interface layout in the following way: The flexible screen is saved in XML format, and is saved in four levels: dock->Splitter->Area->Widget. The size of each component in the area is saved according to the displayed size. The dock level is used to display whether the current interface is a pop-up dock. All dock configurations are saved locally with the name of the menu. The splitter level saves the horizontal or vertical layout properties. The Area saves the properties of whether the component is a zoomable component. The Widget level saves the function ID and group ID.
6. The method for component-based configurable function page processing according to claim 5, characterized in that: The layout management also includes a data structure for storing flexible screen management modules and opening hierarchies, wherein each layout management module retains a pointer to the current data and, during the component dragging process, gives priority to matching the layout management module currently in use. If the component has been dragged out of the scope of the activated layout management module, the component is matched according to the priority order of the functional module hierarchy to see whether it can be embedded in the corresponding functional module; when the component is dragged to the corresponding functional page, the functional page will pin the component to the top.
7. The method for component-based configurable function page processing according to claim 1, characterized in that: The configuration management specifically performs the following processing: When opening a function page, first obtain the function page configuration information according to the menu, and then queue the components in a hierarchical priority manner according to the XML format configuration; the data structure of each data in the queue includes the right dockWidget, direction dockArea, component display type viewType, component layout method sizePoicy on the function page, fixed component size value fixSize, spacing handleWidth between components, the previous interface beforeArea corresponding to the component insertion, component base class baseWidget, and component lastSize information; among them, dockWidget is the upper window of baseWidget, dockArea is the creation direction of the component, viewType is used to control whether the window is displayed, sizePoicy is used to control the scaling method of the component when the function page is zoomed in and out, and is of QSizePolicy type, and lastSize is used to restore the adjustment after the interface dynamically adjusts the size of the previous interface.
8. The method for component-based configurable function page processing according to claim 1, characterized in that: The communication management specifically performs the following processing: The message subscription method is used to solve the problem of message communication. The subscription is divided into two levels: group and topic. The group is divided into four levels: global, screen, innerscreen and custom. Among them, global is used for global communication, screen is used for communication between the function page of the screen and the framework in multiple screens, innerscreen is used for communication between components within the function page, and custom group is used to allow customers to customize the communication method between components, which can replace the innerscreen level. For topics, data from different topics will be subscribed on demand according to the business logic of the component, and different logic will be processed by receiving subscribed messages; and Components can send corresponding data to different groups and topics as needed.
9. The method for component-based configurable function page processing according to any one of claims 1 to 8, characterized in that: The method further includes: when all function pages are created, automatically saving the layout parameters of the function pages when the interface is closed, and automatically creating the components, layout and communication group information according to the configuration information when the interface is opened next time; and Before creating a function page, it also includes reading configuration parameters first, putting the function page creation component order, direction and area relative to the previous component into the pointer queue, and then creating the function page according to the attributes of the pointer queue, setting the layout and adjusting the size.