Cross-platform list implementation method based on virtualization rendering and data-driven feedback

By implementing a cross-platform list method based on virtualization rendering and data-driven feedback, the problems of poor performance and insufficient user experience of traditional QTableView under large data volumes are solved. It achieves efficient data loading and clear data change prompts, improving the ease of user operation.

CN120994298AActive Publication Date: 2025-11-21SHANGHAI GREAT WISDOM SHENJIU INFORMATION TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511516840.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-23
Publication Date
2025-11-21
Estimated Expiration
2045-10-23

AI Technical Summary

Technical Problem

Traditional QTableView suffers from poor performance with large amounts of data, resulting in interface lag, unclear prompts for key data changes, and weak customization capabilities for table headers, thus impacting user experience and transaction decisions.

Method used

A cross-platform list implementation method based on virtualization rendering and data-driven feedback is adopted, including an intelligent virtualization rendering engine, an adaptive header layout algorithm, and a data-driven blinking prompt system. The rendering process is optimized through the Model-View-Paint architecture, the visible area is dynamically calculated, and data volume decoupling and visual feedback are achieved.

Benefits of technology

It improves performance in scenarios with large amounts of data, ensures smooth interface loading, significantly improves the efficiency for users to discover key data changes, and enhances the clarity of table headers and ease of operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120994298A_ABST
    Figure CN120994298A_ABST
Patent Text Reader

Abstract

The invention provides a cross-platform list implementation method and system based on virtualization rendering and data-driven feedback. The method comprises the following steps: acquiring an external data source; performing preprocessing on the data source through a market information data model PCQuoteSortModel (Personal Computer QuoteSortModel); taking the preprocessed data as the input of a Model layer and a Paint layer in the constructed intelligent virtualization rendering engine, customizing a foreground color value and a background customized drawing based on display role assembly data and a foreground color / background color role, and performing drawing logic rewriting to realize virtualization; and finally obtaining a table view with a frozen list by constructing an adaptive header layout algorithm and combining virtualization output. According to the virtual rendering method, only visible data is processed, so that the problems of memory overflow and interface lagging caused by loading all data in a traditional list at one time are solved, smooth loading and rolling of million-level data can be realized, and the performance of a system in a large data volume scene is remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of financial data processing technology, specifically to a cross-platform list implementation method and system based on virtualization rendering and data-driven feedback. Background Technology

[0002] In the financial sector, market data displays are crucial components for real-time presentation of key information such as prices, price changes, and trading volumes for various financial products. Their performance and display quality directly impact user experience and trading decisions. Currently, the industry commonly uses the standard QTableView to implement market data displays, but this approach has several drawbacks: Standard QTableView lacks built-in virtualization capabilities. When dealing with large datasets (such as hundreds of thousands or more financial product data points), it loads and renders all data at once. This not only consumes a significant amount of memory but also causes interface lag, severely impacting system performance. In rapidly refreshing data streams, key information such as prices and percentage changes occur frequently, and traditional QTableView lacks effective visual cues, making it difficult for users to quickly notice these key changes and potentially causing them to miss important trading opportunities. Furthermore, traditional table headers have limited customization capabilities, making it difficult to elegantly display multiple interactive elements such as sorting and filtering icons simultaneously within a limited space, affecting the ease of operation for users of the market data list.

[0003] Therefore, there is an urgent need in the market for a cross-platform market data list implementation method based on virtualization rendering and data-driven feedback that can solve the above problems. Summary of the Invention

[0004] To address the shortcomings of existing technologies, the purpose of this invention is to provide a cross-platform list implementation method and system based on virtualization rendering and data-driven feedback.

[0005] A cross-platform list implementation method based on virtualization rendering and data-driven feedback, provided by the present invention, includes: Step S1: Obtain an external data source; Step S2: Preprocess the data source using the market data model PCQuoteSortModel; Step S3: Using the preprocessed data as input to the Model layer and Paint layer in the constructed intelligent virtualization rendering engine, data is assembled based on the display character, foreground / background color characters are customized foreground color values ​​and background is customized for drawing, and the drawing logic is rewritten to achieve virtualization; Step S4: By constructing an adaptive header layout algorithm and combining it with the output of step S3, a table view with a frozen list is finally obtained.

[0006] Preferably, the external data source includes an HTTP source, a TCP source, and a WebSocket source; The preprocessing includes data cleaning, assembly, and formatting, converting character / number / enumeration / structured data into directly displayable text.

[0007] Preferably, the intelligent virtualization rendering engine is based on Qt's Model-View-Paint architecture. It assembles data based on the display role in the Model layer, customizes the foreground color value and background color value for the foreground / background color roles, and rewrites its core drawing logic in the Paint layer to achieve virtualization.

[0008] Preferably, the rendering process is completed using the table's model data. Based on the table view's row height, total number, and the offset value of the table's vertical scroll bar, the start and end positions of the table are calculated for different screen sizes. Drawing and calculation operations are performed only within this visible area, thereby decoupling the rendering overhead from the total amount of data.

[0009] Preferably, step S4 includes displaying character assembly data by setting the Model layer through a custom base table header view BaseStockHeaderView, customizing the foreground / background color for the character's foreground color value and background for the drawing, and overriding its paintSection method in BaseStockHeaderView. Within this method, based on the alignment, text content, text style, and sorting icon elements to be displayed provided by the model BaseStockHeaderModel, the corresponding sorting method and title are obtained through the header model. The offset values ​​of the icons on the x and y axes are calculated according to the alignment method. The width of the title at a specific font size is dynamically calculated. Finally, the icons and titles are manually drawn.

[0010] Preferably, it also includes building a data-driven real-time flashing prompt system. In the Model layer, when external data updates are received, they are placed into an asynchronous channel for processing. In addition to modifying the data itself, flashing tasks are also registered for one or more cells.

[0011] Preferably, the information of the flashing task includes the target color and duration; Set up a global QTimer to trigger an update slot function at high frequency. This function iterates through all active blinking tasks, calculates the transition color of the current frame through the easing function, and sends a dataChanged signal to notify the Painter layer to redraw and automatically refresh the View layer. The Painter layer receives the background color update signal started by the timer and merges the visualRect area of ​​the cells that need blinking animation through the table's update method.

[0012] A cross-platform list implementation system based on virtualization rendering and data-driven feedback, provided by the present invention, includes: Module M1: Obtain external data source; Module M2: Preprocesses the data source using the market data model PCQuoteSortModel; Module M3: It uses the preprocessed data as input to the Model and Paint layers in the constructed intelligent virtualization rendering engine, assembles data based on the display character, customizes the foreground / background color character foreground color values ​​and background for drawing, and rewrites the drawing logic to achieve virtualization; Module M4: By constructing an adaptive header layout algorithm, combined with the output of module M3, a table view with a frozen list is finally obtained.

[0013] Preferably, the external data source includes an HTTP source, a TCP source, and a WebSocket source; The preprocessing includes data cleaning, assembly, and formatting, converting character / number / enumeration / structured data into directly displayable text.

[0014] Preferably, the intelligent virtualization rendering engine is based on Qt's Model-View-Paint architecture. It assembles data based on the display role in the Model layer, customizes the foreground color value and background color value for the foreground / background color roles, and rewrites its core drawing logic in the Paint layer to achieve virtualization.

[0015] Compared with the prior art, the present invention has the following beneficial effects: 1. The virtualization rendering of this invention only processes visible data, which solves the problem of memory overflow and interface lag caused by traditional lists loading all data at once. It can achieve smooth loading and scrolling of millions of data points, and significantly improve the system performance in large data volume scenarios.

[0016] 2. The flashing mechanism of this invention clearly indicates data updates through visual highlighting, enabling users to promptly detect changes in key indicators such as prices in a rapidly refreshing data stream, thereby improving the efficiency of users in obtaining important information.

[0017] 3. The adaptive layout algorithm of this invention ensures the clarity and functionality of the table header, and can reasonably arrange text, multi-level sorted icons and other interactive elements within a limited space. It can be displayed clearly and correctly under different column widths and platforms, enhancing the user's ease of operation of the market data list. Attached Figure Description

[0018] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 This is the system structure frame of the present invention; Figure 2 This is a schematic diagram of the working method of the present invention. Detailed Implementation

[0019] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.

[0020] This invention employs a virtualized rendering engine that calculates and renders only the data rows within the user's viewport, thereby enabling smooth loading and scrolling of millions of data points. It also implements a data-driven visual feedback mechanism that triggers a brief, smooth color flashing effect in the corresponding cell when key indicators (such as prices) in the data model change. Furthermore, it features an adaptive header layout system that dynamically arranges text, multi-level sorted icons, and other interactive elements, ensuring clear and accurate display across different column widths and platforms.

[0021] According to the present invention, a cross-platform list implementation method based on virtualization rendering and data-driven feedback is provided, such as... Figure 1 and Figure 2 As shown, it includes: Step S1: Obtain an external data source. External data sources include HTTP sources, TCP sources, WebSocket sources, and even simple JSON strings and plain text.

[0022] Step S2: Preprocess the data source using the market data model PCQuoteSortModel. The data source can be from TCP / HTTPS / WebSocket / RPC, and the content can be in JSON / XML / Txt format. The PCQuoteSortModel is an independent structure. The raw data is injected through the corresponding data adapter class (PCQuoteSortAdapter). Once all the raw data is ready, the Caculate method performs data cleaning, assembly, and formatting. This converts character / integer / floating-point / boolean / enumeration / structured data into directly displayable text string types (QString). This includes converting enumeration types into corresponding visual text, converting the default initial value of 0 into "--", formatting dates, and customizing the data layout of drawing areas / labels.

[0023] Step S3: Using the preprocessed data as input to the Model and Paint layers of the constructed intelligent virtualization rendering engine, virtualization is achieved by assembling data based on the display character, customizing the foreground / background color values ​​for the character, customizing the background drawing, and rewriting the drawing logic. Specifically, the intelligent virtualization rendering engine is based on Qt's Model-View-Paint architecture. Virtualization is achieved by assembling data based on the display character in the Model layer (SimpleQuoteModel), customizing the foreground / background color values ​​for the character, and customizing the background drawing; and by rewriting its core drawing logic (paint) in the Paint layer (SimplePaint). The rendering process does not traverse all data. This calculation is completed using the table's model data. Based on the table view's row height, total number, and the offset value of the table's vertical scrollbar, the start and end positions (visibleRow) of the table are calculated for different screen sizes. Drawing and calculation operations are only performed within this visible area, thus decoupling the rendering overhead from the total amount of data. Step S4: By constructing an adaptive header layout algorithm and combining it with the output of Step S3, a table view with a frozen list is finally obtained. A custom base header view, BaseStockHeaderView, is used. The Model layer (BaseStockHeaderModel) displays the assembled data, with foreground / background colors customized for each character, and background colors customized for drawing. The paintSection method is overridden in BaseStockHeaderView. Internally, based on the alignment (left / center / right), text content, text style, and sorting icons provided by the model (BaseStockHeaderModel), the corresponding sorting method (displaying sorting icons) and title are retrieved from the header model. The offset values ​​of the icons on the x and y axes are calculated based on the alignment, and the width of the title at a specific font size is dynamically calculated. Finally, the icons and titles are manually drawn. The algorithm also allows for customization of background colors, borders, and other styles. This algorithm ensures that even when column widths change frequently or multiple icons exist, the elements maintain correct spacing and do not overlap.

[0024] This invention also includes building a data-driven real-time blinking prompt system. In the Model layer (SimpleQuoteModel), when external data updates are received, they are processed asynchronously. In addition to modifying the data itself, a "blinking task" is registered for one or more cells. This task includes information such as target color and duration. A global QTimer is set to trigger an update slot function at a high frequency (e.g., 60 FPS). This function iterates through all active blinking tasks, calculates the transition color of the current frame through an easing function, and sends a dataChanged signal to notify the Painter layer to redraw and automatically refresh the View layer. In the Painter layer, the background color update signal started by the timer is received, and the visualRect area of ​​the cells that need blinking animation is merged and processed through the table's update method. The current approach is to blink with rising red and falling green, while keeping the blinking color consistent for each row, thereby achieving a smooth blinking animation.

[0025] Furthermore, in conjunction with the appendix Figure 2 The cross-platform list implementation method based on virtualization rendering and data-driven feedback of the present invention is described in detail below: First, external data sources are input, including various financial market data interfaces (such as stock trading systems, futures market data platforms, etc.), real-time database outputs, or data pushed by other business systems. These data sources continuously provide raw information related to the list display, such as stock prices, trading volumes, and price changes.

[0026] Then, the data source is initially processed using the PCQuoteSortModel market data model. Specifically, the data is filtered according to business rules and display requirements, such as filtering out invalid, erroneous, or data that does not fit the current display scenario. Simultaneously, the data is sorted according to specific logic, such as ascending order by stock code or descending order by price change, making the data presentation more organized and facilitating its proper display in the list later. Furthermore, the raw data is transformed and organized into a structure suitable for subsequent QTableView model proxy processing, defining the field correspondences, such as which field corresponds to a specific column in the list (e.g., stock name column, price column, etc.), preparing for the data to be correctly mapped in the table view.

[0027] Next, the data model is transformed using a proxy. SimpleQuoteModel acts as the model proxy for QTableView, further adapting to the display requirements of table views (QTableView related) in the Qt framework. Based on Qt's Model-View architecture specification, the data processed by PCQuoteSortModel is assembled according to the roles of the Model layer (such as display role, foreground / background color role, etc.). For example, the specific value to be displayed for each cell (display role) is determined, and color-related role information that may be used for subsequent blinking prompts and style rendering is pre-set, allowing the data to better cooperate with the view layer and the drawing layer.

[0028] Next, rendering and drawing control: SimplePaint acts as the drawing proxy for QTableView, operating according to the "intelligent virtualization rendering engine" logic described in the patent. Utilizing data obtained from SimpleQuoteModel, combined with parameters such as the table view's row height, vertical scrollbar offset, and screen size, it accurately calculates the start and end positions of the table's visible area (visibleRow). For example, through formulas or algorithms, it determines which rows of data are currently visible on the screen based on the scrollbar position, drawing and calculating only cells within this range. This decouples rendering overhead from the total data volume, preventing rendering stutters due to large amounts of data (such as tens of thousands of stock quotes), and improving list display efficiency. Handling blinking prompts: When receiving a redraw notification (dataChanged signal, etc.) related to a "blinking task" triggered by data updates from SimpleQuoteModel, SimplePaint processes the cell background color and transition color drawing according to the data-driven real-time blinking prompt system mechanism constructed in this invention. It uses the color of the current frame calculated by the easing function to draw the visualRect area of ​​the cell that needs to blink, so as to achieve blinking effects such as rising red and falling green, and make the data changes intuitively present animated feedback on the view.

[0029] Finally, in terms of view display and interaction, FrozenTableView, as the final frozen column view, presents the content to the user based on the data and drawing instructions processed in the previous stages. Utilizing the basic functionalities of Qt table views, combined with features such as frozen columns (e.g., fixing the display of key columns like stock codes and market indicators so that important information remains visible while the user scrolls to other columns), the visible area content drawn by SimplePaint is presented in an intuitive table format, including data display and blinking animations. Simultaneously, it responds to user actions on the view, such as scrolling and clicking to sort. When user actions cause vertical scrollbar offsets or column width changes, it triggers SimpleQuoteModel, SimplePaint, and other processes to recalculate the visible area and redraw, maintaining correct view display. It also feeds back data requests generated by user interactions (such as re-sorting requests) to upstream processes like PCQuoteSortModel, forming a closed loop between data processing and view display.

[0030] This invention aims to solve the technical problems of poor performance of traditional market data lists under large data volumes, unclear indication of key data changes, and weak customization capabilities of table headers.

[0031] The present invention also provides a cross-platform market data list implementation system based on virtualization rendering and data-driven feedback. The cross-platform market data list implementation system based on virtualization rendering and data-driven feedback can be implemented by executing the process steps of the cross-platform market data list implementation method based on virtualization rendering and data-driven feedback. That is, those skilled in the art can understand the cross-platform market data list implementation method based on virtualization rendering and data-driven feedback as a preferred embodiment of the cross-platform market data list implementation system based on virtualization rendering and data-driven feedback.

[0032] A cross-platform list implementation system based on virtualization rendering and data-driven feedback, provided by the present invention, includes: Module M1: Obtain external data sources. These external data sources include HTTP sources, TCP sources, and WebSocket sources.

[0033] Module M2: Preprocesses the data source using the market data model PCQuoteSortModel. This preprocessing includes data cleaning, assembly, and formatting, converting character / numeric / enumerated / structured data into directly displayable text.

[0034] Module M3: Uses preprocessed data as input to the Model and Paint layers of the constructed intelligent virtualization rendering engine. It assembles data based on the display character, customizes foreground / background color values ​​for the character, and performs background drawing customization. It also rewrites the drawing logic to achieve virtualization. The intelligent virtualization rendering engine is based on Qt's Model-View-Paint architecture. In the Model layer, it assembles data based on the display character, customizes foreground / background color values ​​for the character, and performs background drawing customization. In the Paint layer, it rewrites its core drawing logic to achieve virtualization. The rendering process is completed using table model data. Based on the table view's row height, total number of rows, and the offset of the table's vertical scrollbar, it calculates the table's start and end positions for different screen sizes. Drawing and calculation operations are performed only within this visible area, thus decoupling rendering overhead from the total data volume.

[0035] Module M4: By constructing an adaptive header layout algorithm, combined with the output of Module M3, a final table view with a frozen list is obtained. Module M4 includes a custom base header view, BaseStockHeaderView, which displays assembled data by setting the Model layer, customizing the foreground / background color for the characters, and customizing the background drawing. The paintSection method is overridden in BaseStockHeaderView. Internally, based on the alignment, text content, text style, and sorting icons provided by the BaseStockHeaderModel, the corresponding sorting method and title are retrieved from the header model. The x and y offset values ​​of the icons are calculated based on the alignment, and the width of the title at a specific font size is dynamically calculated. Finally, the icons and titles are manually drawn.

[0036] This invention also includes constructing a data-driven real-time blinking prompt system. In the Model layer, when external data updates are received, they are processed in an asynchronous channel. In addition to modifying the data itself, blinking tasks are registered for one or more cells. The information of the blinking task includes the target color and duration. A global QTimer is set to trigger an update slot function at a high frequency. This function iterates through all active blinking tasks, calculates the transition color of the current frame through an easing function, and sends a dataChanged signal to notify the Painter layer to redraw and automatically refresh the View layer. In the Painter layer, the background color update signal started by the timer is received, and the visualRect area of ​​the cells that need blinking animation is merged and processed through the table's update method.

[0037] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0038] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.

Claims

1. A cross-platform list implementation method based on virtualization rendering and data-driven feedback, characterized in that, include: Step S1: Obtain an external data source; Step S2: Preprocess the data source using the market data model PCQuoteSortModel; Step S3: Using the preprocessed data as input to the Model layer and Paint layer in the constructed intelligent virtualization rendering engine, data is assembled based on the display character, foreground / background color characters are customized foreground color values ​​and background is customized for drawing, and the drawing logic is rewritten to achieve virtualization; Step S4: By constructing an adaptive header layout algorithm and combining it with the output of step S3, a table view with a frozen list is finally obtained.

2. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 1, characterized in that, The external data sources include HTTP sources, TCP sources, and WebSocket sources; The preprocessing includes data cleaning, assembly, and formatting, converting character / number / enumeration / structured data into directly displayable text.

3. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 1, characterized in that, The intelligent virtualization rendering engine is based on the Qt Model-View-Paint architecture. It assembles data based on the display role in the Model layer, and customizes the foreground color value and background color of the role. The core drawing logic is rewritten in the Paint layer to achieve virtualization.

4. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 3, characterized in that, The rendering process is completed using the table's model data. Based on the table view's row height, total number, and the offset value of the table's vertical scroll bar, the start and end positions of the table are calculated for different screen sizes. Drawing and calculation operations are performed only within this visible area, thereby decoupling the rendering overhead from the total amount of data.

5. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 1, characterized in that, Step S4 includes displaying character assembly data by setting the Model layer through a custom base table header view BaseStockHeaderView, customizing the foreground / background color for the character's foreground color value and background color for drawing, and overriding its paintSection method in BaseStockHeadView. Within this method, based on the alignment, text content, text style, and sorting icon elements to be displayed provided by the model BaseStockHeaderModel, the corresponding sorting method and title are obtained through the header model. The offset values ​​of the icons on the x and y axes are calculated according to the alignment method. The width of the title at a specific font size is dynamically calculated. Finally, the icons and titles are manually drawn.

6. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 1, characterized in that, It also includes building a data-driven real-time flashing prompt system. In the Model layer, when external data updates are received, they are placed into an asynchronous channel for processing. In addition to modifying the data itself, flashing tasks are also registered for one or more cells.

7. The cross-platform list implementation method based on virtualization rendering and data-driven feedback according to claim 6, characterized in that, The information for the flashing task includes the target color and duration; Set up a global QTimer to trigger an update slot function at high frequency. This function iterates through all active blinking tasks, calculates the transition color of the current frame through the easing function, and sends a dataChanged signal to notify the Painter layer to redraw and automatically refresh the View layer. The Painter layer receives the background color update signal started by the timer and merges the visualRect area of ​​the cells that need blinking animation through the table's update method.

8. A cross-platform list implementation system based on virtualization rendering and data-driven feedback, characterized in that, include: Module M1: Obtain external data source; Module M2: Preprocesses the data source using the market data model PCQuoteSortModel; Module M3: It uses the preprocessed data as input to the Model and Paint layers in the constructed intelligent virtualization rendering engine, assembles data based on the display character, customizes the foreground / background color character foreground color values ​​and background for drawing, and rewrites the drawing logic to achieve virtualization; Module M4: By constructing an adaptive header layout algorithm, combined with the output of module M3, a table view with a frozen list is finally obtained.

9. The cross-platform list implementation system based on virtualization rendering and data-driven feedback according to claim 8, characterized in that, The external data sources include HTTP sources, TCP sources, and WebSocket sources; The preprocessing includes data cleaning, assembly, and formatting, converting character / number / enumeration / structured data into directly displayable text.

10. The cross-platform list implementation system based on virtualization rendering and data-driven feedback according to claim 8, characterized in that, The intelligent virtualization rendering engine is based on the Qt Model-View-Paint architecture. It assembles data based on the display role in the Model layer, and customizes the foreground color value and background color of the role. The core drawing logic is rewritten in the Paint layer to achieve virtualization.

Citation Information

Patent Citations

  • Title display control method and device

    CN106210851A

  • Financial market list display method and device, storage medium and equipment

    CN115329161A

  • List rendering method and device, electronic equipment and storage medium

    CN115793926A

  • Virtual scrolling method and system for processing big data list

    CN119883604A

  • Financial market list display method and apparatus, storage medium and device

    US20250139701A1