Rust Constructor V2
A cross-platform GUI framework built on egui, the simplest way to develop GUI projects in Rust
English | 简体中文
Rust Constructor is an open-source project, but is not directly affiliated with the egui development team!
Table of Contents
- Version Update Information
- Introduction
- Quick Start
- Purpose of Creating Rust Constructor
- Frequently Asked Questions
- License
- Conclusion
Version Update Information
- The current latest version is
v2.6.0 Layout Revolution. The main updates include the following:- Added
ResourcePanelresource, which can automatically layout resources, lock display ranges, split windows, and other features. - Removed the
reg_render_resourcemethod fromRustConstructorResource, replacing it withactiveandmodify_activemethods. - Optimized active resource management logic, now you can directly print active resource information through the
print_resource_active_infomethod inApp. - Extended a large number of methods for
BasicFrontResource. - Renamed
x_gridandy_gridtox_location_gridandy_location_gridin all basic front-end resources. - Extended all basic front-end resources with
x_size_gridandy_size_gridfields for quickly setting resource sizes. - Extended a series of enumerations to assist with resource calls.
- Added an
activefield to all resources to mark whether the resource should be invoked. - Migrated some fields that were originally passed in
addmethods of certain resources to inside the structures. - Added
panel_name,panel_layout, andallow_scrollingto all basic front-end resources for customizing resource styles in the resource panel. - Extended all basic front-end resources with a
clip_rectfield to control resource display range, with parts exceeding the range not displayed. - Added text box functionality to
Text, where text exceeding specified dimensions will now be truncated and replaced with ... . - Extended
Textwithactual_sizeandorigin_sizefields to get the actual size of the rendered text portion and the original size of the text box. MouseDetectorcan now detect mouse scroll amounts.- Extended some resources with fields to adapt to
PositionConfig. - Consolidated all
addmethods into anadd_resourcemethod that can automatically perform operations based on resource type and add to the resource list. - Updated the return value of
get_resource_mut. - Extended
RustConstructorErrorto accommodate new resources. - Improved some code.
- Added
Introduction
Rust Constructoris a Rust GUI development library built on egui, including common features such as timers, resource storage, and error handling.Rust Constructorreleased its first version in2025.2, and today'sRust Constructorhas undergone earth-shattering changes compared to that time.
Quick Start
- To introduce
Rust Constructor, please addrust_constructor = "x.y.z"(please replace xyz as needed) to yourtoml. - If you want to start
Appand perform some simple operations, it is recommended to refer to the official egui documentation. - Due to the large content and complex operations of
Rust Constructor, it is inconvenient to fully describe here. You can refer to the official tutorial ofRust ConstructorRust Constructor Guide.
Purpose of Creating Rust Constructor
We encountered some problems that egui could not solve during the development of Targeted Vector, so we expanded many tools. To enable more people to develop conveniently, we created Rust Constructor.
Frequently Asked Questions
-
Q1: Which platforms does
Rust Constructorsupport? -
A1:
macOSandWindowsare confirmed to be fully supported, other platforms depend oneguisupport. -
Q2: What are the differences between
Rust Constructor V2andV1? -
A2: The original architecture was modified to conform to the
cratestructure, published on crates.io, and added an official guide. -
Q3: Why do I get errors when calling resources?
-
A3: Please ensure you have added the resources through the
addmethod and there are no spelling errors. -
Q4: How to modify resources?
-
A4: You can retrieve resources via
get_resource_mut. -
Q5: What should I do if I encounter unknown error messages?
-
A5: First check the
RustConstructorErrordefinition in theRust Constructorsource code, find the problem you triggered and fix it. -
Q6: Why is only
V2ofRust Constructoroncrates.io? -
A6:
Rust Constructor V0andRust Constructor V1were essentially bloated projects with many redundant features and meaningless code, so they were not published.
License
MIT © 2025 ChepleBob
Conclusion
If you like this project, please give me a star on GitHub. You can also join our organization Binder.