项目简介
WaylandGUI是一个简约的图形界面库,基于NanoGUI开发。该项目聚焦于运行Debian 11(或类似版本Linux)的基于SOM的ARM设备,去除了大部分不必要的内容,放弃对Python、Windows和Apple系统的支持,旨在为嵌入式Debian系统提供良好的图形界面解决方案。
项目的主要特性和功能
- 专注嵌入式系统,仅针对嵌入式Debian系统,避免引入过多复杂依赖,便于通过监管审批。
- 图形后端优化,当前使用GLES 3用于GLFW层,后续计划仅使用Wayland EGL,还可能考虑采用Vulkan。
- 精简依赖,不包含GLFW,需从官方仓库构建,移除了与xWayland和Wayland有冲突的libglvnd相关依赖。
- 支持基本控件,可依据NanoGUI文档创建各种基本控件,如按钮、滑块、文本框等,并能进行事件回调设置。
安装使用步骤
假设用户已下载本项目的源码文件,在干净的Debian 11虚拟机或目标设备的SD卡上,且有足够磁盘空间(若不是root用户,多数命令前需加sudo),按以下步骤操作:
1. 安装系统依赖
bash
apt-get update
apt-get install build-essential dkms linux-headers-$(uname -r)
apt-get upgrade
apt-get install cmake ninja-build unzip zip git patchelf pkg-config extra-cmake-modules
apt-get install libgles-dev libwayland-dev libxkbcommon-dev wayland-protocols
apt-get install waylandpp-dev libvulkan-dev libglfw3-wayland
2. 编译安装GLFW
bash
mkdir Projects
cd Projects
cd glfw
mkdir build && cd build
cmake -DGLFW_USE_WAYLAND=ON -DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_EXAMPLES=OFF \
-DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF -DGLFW_INSTALL=ON -DGLFW_BUILD_COCOA=OFF \
-DGLFW_BUILD_X11=OFF -DUSE_MSVC_RUNTIME_LIBRARY_DLL=OFF..
make install
3. 编译安装WaylandGUI
bash
cd ~/Projects
cd waylandgui
mkdir build && cd build
cmake -Wno-depricated -Wno-error=depricated..
make install
./example3
4. 创建控件:可参考以下代码示例创建控件
```cpp
// 创建按钮
Button *b = new Button(window, "Plain button");
b->set_callback([] { cout << "pushed!" << endl; });
// 创建滑块和文本框 Widget panel = new Widget(window); panel->set_layout(new BoxLayout(BoxLayout::Horizontal, BoxLayout::Middle, 0, 20)); Slider slider = new Slider(panel); slider->set_value(0.5f); slider->set_fixed_width(80); TextBox *tb = new TextBox(panel); tb->set_fixed_size(Vector2i(60, 25)); tb->set_value("50"); tb->set_units("%"); slider->set_callback(tb { tb->set_value(std::to_string((int) (value * 100))); }); ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】