为 kingbes/libui 封装的常用 GUI 组件库,方便开发 PHP GUI 应用程序。
composer require yangweijie/libphp本库提供了以下常用 GUI 组件的封装:
- Application - 应用程序管理器
- WindowWrapper - 窗口包装器
- ButtonGroup - 按钮组组件
- Form - 表单组件
- CheckboxGroup - 复选框组组件
- SliderControl - 滑块控制组件
- TabPanel - 标签页面板组件
- MessageBox - 消息框组件
- ComboBox - 下拉列表框组件
- SpinBox - 微调框组件
- ProgressBar - 进度条组件
- DateTimePicker - 日期时间选择器组件
- EditableComboBox - 可编辑下拉列表框组件
- MultilineEntry - 多行文本输入框组件
- Radio - 单选按钮组组件
<?php
require dirname(__DIR__) . "/vendor/autoload.php";
use Yangweijie\Libphp\Components\Application;
use Yangweijie\Libphp\Components\ButtonGroup;
use Kingbes\Libui\Box;
// 创建应用
$app = new Application();
// 创建主窗口
$window = $app->createWindow("LibPHP 组件示例", 600, 400);
// 创建主容器
$mainBox = Box::newVerticalBox();
Box::setPadded($mainBox, true);
// 创建按钮组
$buttonGroup = new ButtonGroup(false, true);
$buttonGroup->addButton("按钮1", function ($btn, $index) use ($window) {
$window->showMessage("提示", "按钮1被点击了");
})->addButton("按钮2", function ($btn, $index) use ($window) {
$window->showMessage("提示", "按钮2被点击了");
});
// 将按钮组添加到主容器
Box::append($mainBox, $buttonGroup->getControl(), false);
// 设置窗口内容
$window->setContent($mainBox);
// 设置窗口关闭事件
$window->onClose(function ($window) use ($app) {
$app->quit();
return true;
});
// 显示窗口并运行应用
$window->show();
$app->run();更多示例请查看 examples 目录。
应用程序管理器,用于初始化应用和管理窗口。
窗口包装器,提供了更便捷的窗口操作方法。
按钮组组件,可以方便地创建一组按钮并管理它们的事件。
表单组件,提供了创建表单的便捷方法,支持文本输入、密码输入等字段。
复选框组组件,可以方便地创建一组复选框并管理它们的状态和事件。
滑块控制组件,提供了带标签和值显示的滑块控件。
标签页面板组件,可以创建多标签页界面。
消息框组件,提供了创建自定义消息框的便捷方法。
下拉列表框组件,提供了带标签的下拉列表框控件,支持添加选项和选择事件。
微调框组件,提供了带标签的微调框控件,支持设置范围和值改变事件。
进度条组件,提供了带标签和值显示的进度条控件,支持设置进度值。
日期时间选择器组件,支持日期、时间或日期时间的选择。
可编辑下拉列表框组件,用户既可以从下拉列表中选择选项,也可以输入自定义文本。
多行文本输入框组件,支持多行文本输入,可设置是否自动换行和只读模式。
单选按钮组组件,提供了一组互斥的选项,用户只能选择其中一个。
- PHP >= 8.2
- kingbes/libui ^0.0.2
MIT