当前位置: 首页 > news >正文

NICEGUI---ROS开发之中常用的GUI工具

0. 简介

对于ROS来说,如果不具备一定知识的人员来使用这些我们写的算法,如果说没有交互,这会让用户使用困难,所以我们需要使用GUI来完成友善的数据交互,传统的GUI方法一般有PYQT这类GUI方法,但是这类GUI工具上手门槛较高,也不太适合快速且敏捷的可视化界面开发。NiceGUI 是一个易于使用、基于Python的用户界面框架,它显示在Web浏览器里,可创建按钮,对话框,markdown,3D场景,绘图等。它非常适用于小型网页应用、仪表盘、机器人项目、智能家居解决方案和类似的场景。相关代码也已经全部在Github上开源了。
在这里插入图片描述

1. 具体功能

我们打开NICEGUI官网就可以看到NICEGUI支持一些写法了,具体支持

- 交互- 按钮、滚动条、输入框- 提醒、对话、菜单- 键盘输入- ...- 样式设计- 自定义颜色主题- 自定义CSS- 现代设计风格素材- 内置Taiwind- 布局- 导航栏、选项卡、面板、...- 用行、列和卡片分组- HTML 和降价元素- 默认Flex- 代码- 实时- 代码更改时隐式重新加载- 直接的数据绑定- 在 Python 内执行 javascript- 可视化- 图表、图表和表格- 3D场景- 进度条- 用于数据刷新的内置定时器
...

在这里插入图片描述

2. 环境安装

对于nicegui来说安装很简单,即使用下面指令安装即可

python3 -m pip install nicegui

如果想要使用Docker,也可以使用multi-arch Docker image,在拉下docker后,就可以通过下面的指令运行含有NICEGUI的docker环境了

docker run --rm -p 8888:8080 -v $(pwd):/app/ -it zauberzeug/nicegui:latest

这将使用当前目录中的代码在http://localhost:8888上启动服务器。包含ui.run(port=8080,…)命令的文件必须命名为main.py。代码修改会触发自动重载。

3. 常见api以及在ROS中的使用

NICEGUI中也有良好的API以供读者参考,我们可以在https://nicegui.io/reference中找到NICEGUI常用的API。代码简单易懂,很值得试一下
在这里插入图片描述
下面我们根据API可以完成最简单的与ros联合的代码,这里将/status/odometry获取,并通过NICEGUI完成消息的显示整合以及发送

…详情请参照古月居

http://www.lryc.cn/news/32350.html

相关文章:

  • 高盐废水除钙镁的技术解析
  • 回文日期门牌制作
  • 基于半车悬架的轴距预瞄与轴间预瞄仿真对比
  • Linux开发 安装JDK8、p4
  • 基于 x86 SoC 的车辆智能驾驶舱和ADAS设计(一)
  • 类模板函数模板
  • Leetcode DAY 56: 两个字符串的删除操作 and 编辑距离
  • 系统检测维护工具Wsycheck使用(18)
  • 111 ok
  • Python API教程:API入门
  • SpringMVC学习笔记
  • Linux学习记录01
  • VScode 插件【配置】
  • 基于 Rainbond 的 Pipeline(流水线)插件
  • ASGARD:单细胞导向的药物发现
  • js-DOM03-事件
  • 天梯赛题目练习L1-007--L1-009
  • 来吧!接受Kotlin 协程--线程池的7个灵魂拷问
  • Dynamic Movement Primitives (DMP) 学习
  • 2023王道考研数据结构笔记第五章——树
  • setState函数是异步的还是同步的?
  • vue3+ts:约定式提交(git husky + gitHooks)
  • TSP 问题求解的最好方法 LKH
  • RocketMQ5.1控制台的安装与启动
  • 【java基础】类型擦除、桥方法、泛型代码和虚拟机
  • 十家公司有九家问过的软件测试面试题,最后一题我猜你肯定不会
  • C++核心知识(三)—— 静态成员(变量、函数、const成员)、面向对象模型(this指针、常函数、常对象)、友元、数组类、单例模式
  • RocketMQ【3】Rocketmq集群部署(多master多slave)异步复制
  • 魏玛早春 木心
  • 关于Scipy的概念和使用方法及实战