#ui-framework #iup #kiss #top #tecgraf #puc-rio

kiss-ui/kiss-ui

基于IUP(http://webserver2.tecgraf.puc-rio.br/iup/)构建的简单Rust UI框架

1个不稳定版本

使用旧Rust 2015

0.1.0 2015年4月27日

#731 in GUI

343 星 & 18 关注者

63KB
1K SLoC

KISS-UI Build Status

基于KISS(保持简单,愚蠢!)哲学的Rust UI框架。

由Tecgraf的C语言GUI库IUP提供支持,通过为iup-rust创建的绑定。

(与同样出色的kiss3d无关。)

内容

文档

kiss-ui 文档托管在Github Pages上

使用方法

只需将以下内容添加到您的 Cargo.toml

[dependencies.kiss-ui]
git = "https://github.com/cybergeek94/kiss-ui"

导入KISS-UI的宏和通用类型

#[macro_use]
extern crate kiss_ui;

use kiss_ui::prelude::*;

KISS-UI在所有Rust发布频道上构建!

安装IUP二进制文件

您需要为您的系统安装IUP二进制文件,这些二进制文件可在以下位置下载:这里

请参阅以下内容以确定要下载哪些文件以及安装位置。具体步骤取决于您的平台和首选的链接方法:动态或静态。

非常欢迎为任何平台添加或修改说明的PR。


Windows

动态链接

  1. 导航到 Windows Libraries/Dynamic
  • 32位:下载 iup-3.14_Win32_dllw4_lib.zip
  • 64位:下载 iup-3.14_Win64_dllw4_lib.zip
  1. 将所有 .dll 文件提取到一个链接器可以找到它们的文件夹中(选择一个)
  • <Rust 安装>/bin/rustlib/<平台目标>/lib/(推荐)
  • (使用 MinGW/MSYS) <MinGW/MSYS 安装>/usr/lib
  • <您的 cargo 仓库>/bin/<平台目标>
  1. 将相同的 DLLs 复制到您的 PATH 中的一个文件夹(选择一个)
  • <Rust 安装>/bin/(推荐)
  • 在任何位置创建一个文件夹并将其添加到您的 PATH 中。
  • 将步骤 2 中的一个文件夹添加到您的 PATH 中。

绝对不应该在任何 Windows 安装文件夹中放置任意文件,无论它们多么无害。

静态链接

在 Windows 上使用 IUP 进行静态链接目前是不可能的,因为它需要资源脚本(.rc)文件,这些文件需要编译和链接,而 Rust 目前不支持。


Linux

IUP 的 Linux 二进制软件包包括静态和动态库。尽管正在努力为各种发行版的软件包管理器创建最新的软件包,但目前获取 IUP 二进制文件的最受支持的方法是编译源代码或从创建者那里下载预编译的二进制文件。

从源代码编译

要从源代码编译,请参阅此页面。检查源代码树的说明可在此处找到。如果您了解如何使用 Makefile 构建项目,那么这应该不会太难。

下载预编译的二进制文件

但是,如果您想下载预编译的二进制文件,请先访问下载页面

  1. 导航到 Linux Libraries 文件夹。
  2. 确定您的内核版本。这可以通过在终端中输入命令 uname -r 来完成。
  • 如果您不知道您的 Linux 是 32 位还是 64 位,请使用命令 uname -a 并查找以下内容
    • x86_64:您的系统是 64 位。
    • x86:您的系统是 32 位。
  1. 根据您的内核版本和位精度选择并下载 tarball。
  • 对于 32 位(x86),只有一个软件包:iup-3.14_Linux32_lib.tar.gz
  • 对于 64 位(x86_64),根据您的内核版本选择以下之一
    • >= 3.19iup-3.14_Linux319_64_lib.tar.gz
    • >= 3.13iup-3.14_Linux313_64_lib.tar.gz
    • ≥ 3.5: iup-3.14_Linux35_64_lib.tar.gz
    • ≥ 3.2: iup-3.14_Linux32_64_lib.tar.gz
    • 2.6: iup-3.14_Linux26g4_64_lib.tar.gz
  1. 在终端中导航到您下载tar文件的文件夹。
  2. 解压tar文件
  • mkdir iup_libs/
  • tar -xzvf <tarball文件> -C iup_libs/
  1. 安装二进制文件
  • cd iup_libs/ (安装脚本必须在它的文件夹中运行。)
  • 您可以选择运行以下两个命令之一或两个都运行
  • 安装动态库: sudo ./install
  • 安装静态库: sudo ./install_dev
  1. 遵循安装程序中的提示。

一旦安装程序完成,您就完成了。如果您以后想卸载IUP,请在终端中打开那个iup_libs/文件夹,并运行sudo ./uninstall。否则,您现在可以删除tar文件和/或iup_libs/文件夹。


OS X

在安装IUP之前,您需要安装GTK+。(IUP的Cocoa驱动程序正在开发中,但截至2015年7月5日,没有人在工作。)您可以使用2.x或3.x版本,IUP都可以与它们一起使用。

安装GTK+ 2

brew install gtk+

安装GTK+ 3

brew install gtk+3

注意:如果您在安装GTK+ 3后构建时遇到问题,请参阅此StackOverflow答案

一旦安装了GTK+,您可以从这里下载并安装可用的预编译Mac OS X IUP二进制文件。看起来可用的唯一下载是适用于OS X 10.10 64位的。

一旦您下载了tar文件,安装过程应该与Linux的步骤4开始时相同。


与其他UI框架的比较

注意:此列表远非详尽无遗,可能包含过时信息。

欢迎提出更正和补充的pull请求!

  • KISS-UI
    • 构建状态:构建状态
    • 支持的平台:Windows(使用Win32 API),Linux和Mac(使用GTK+)
    • 本地外观和感觉:
    • "Hello, World!" 行数:18
    • 外部Crates:2
    • 外部本地库:1
  • PistonDevelopers/conrod
    • 构建状态:构建状态
    • 支持的平台:Windows、Mac、Linux
    • 本地外观和感觉:否
    • "Hello, World!" 行数:40(根据链接的示例估计)
    • 外部Crates:9(不包括测试Crates和传递依赖项)
    • 外部本地库:~0(取决于使用的后端)
  • rust-gnome/gtk
    • 构建状态:构建状态
    • 支持的平台:Windows、Mac、Linux
    • 本地外观和感觉:
    • "Hello, World!" 行数:23
    • 外部箱:10(1个本地但来自Crates.io)
    • 外部本地库:约5(大多数Linux发行版上已安装,Windows和Mac上为外部)

代码行数应根据GitHub文件页面上的# sloc统计列出。原始行数包括空行,这可能会任意影响行数。

在Windows上启用视觉样式

由于Rust/Cargo目前不支持将资源项添加到可执行文件中,Windows XP及以后版本需要外部清单文件才能在KISS-UI应用程序中启用视觉样式。否则,视觉样式将是Windows经典。

但是,我们使这个过程非常简单!只需将此仓库中的kiss-app.manifest文件复制到基于KISS-UI的可执行文件文件夹中,将该文件重命名为<可执行文件名>.manifest(包括.exe扩展名,例如my_executable.exe.manifest),然后直接运行可执行文件。可能需要删除并替换或重新构建可执行文件才能使此更改生效,因为Windows似乎缓存了清单文件数据,可能为了避免在每次运行时重新解析。

可选地,您可以使用任何文本编辑器编辑清单文件中的name=<description>值。然而,作者不清楚这些实际影响什么。

依赖项

约66KB