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.3.0 Compatibility Update. Major updates include:- Removed a large number of useless functions outside of
App. - Added
FrontResourcetrait for managing basic front-end resources. - Added
Configclass structures for quickly customizing front-end resources. Imageadded multiple fields:background_colorfor managing background color displayed behind the image,rotate_anglefor managing image rotation angle (clockwise, used with std::f32::consts::PI, does not change other resource detection input range),rotate_centercontrols the image rotation center point (position determined by the ratio of input values to image dimensions).- Removed
Text'swrite_backgroundfield. - Major refactor of
SwitchData. - Some fields in
Switchhave been renamed:switch_image_name->fill_resource_name,enable_hover_click_image->enable_hover_click_fill_resource. - Removed
Switch'ssound_pathfield and related functionality. RustConstructorErroradded two new error types:SwitchFillResourceMismatchandCustomError.- Removed
ConfigandAppTextand their related fields. - Added
strict_modefield inApp. - Fixed the issue where
CustomRect'spositionwould not update withcenter_display. - Major refactor of
Switch, now multiple resources can be used to fill theSwitchmain part (ImageorCustomRect). - The close button of
MessageBoxnow also supports filling with multiple resources.
- Removed a large number of useless functions outside of
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.