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完成消息的显示整合以及发送

…详情请参照古月居

NICEGUI---ROS开发之中常用的GUI工具相关推荐

  1. iOS 开发设计常用软件及工具整理

    1, xCode 2, AppCode 3, Skech 原型设计软件 4, Hype 动画设计工具 5, fontawsome 免费图表 6, Prepo icon, images.catlog 生 ...

  2. iOS开发中常用的那些工具

    工欲善其事,必先利其器. 列表 XCode 无须多说 Instruments 性能分析工具:卡顿,内存,网络,数据存储等等 xcodebuild and xcrun 命令行工具用来脚本打包和测试 sy ...

  3. NO.4 Android开发中常用框架及工具

    android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView.ViewPager.WevView.ExpandableListView.GridView ...

  4. java中将数字颠倒的工具类,java开发中常用的数字工具类

    import java.math.BigDecimal; import org.apache.commons.lang.RandomStringUtils; public class NumberUt ...

  5. 分享一个ubuntu14.04和16.04下的用于ROS开发的IDE开发工具吧

    官网已经打不开了,可以来我这下载https://download.csdn.net/download/qq_23670601/11610974,有deb安装包和使用手册,CSDN没办法设置0积分资源, ...

  6. ROS开发之如何使用常用可视化工具?

    文章目录 0.引言 1.rqt工具 2.RViz工具 3.Gazebo工具 0.引言   笔者因研究课题涉及ROS开发,学习了古月居出品的ROS入门21讲,为巩固可视化工具的知识,本文将ROS的常用可 ...

  7. java开发之图形界面GUI初步-Swing几种常用组件及其应用

    package test; import java.awt.*; import java.awt.event.KeyEvent; import javax.swing.*; /* * 作者:钟志钢 * ...

  8. [转]cocos2d游戏开发,常用工具集合

    cocos2d游戏开发,常用工具集合 原文地址:http://www.cocoachina.com/bbs/read.php?tid-68951.html 位图字体工具Bitmap Font Tool ...

  9. Python开发GUI工具介绍,实战:将图片转化为素描画!

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

最新文章

  1. 嵌入式系统开发过程中遇到的——volatile
  2. MySql乱码解决(五)
  3. Python自定义时间间隔访问网页
  4. html5如何新建定义站点,HTML5技术教程:创建新作品_HTML5教程_创建作品_添加元素_课课家...
  5. HDU2159 研发费用背包
  6. Kvm虚拟化性能测试与性能优化实践
  7. ArcGIS Runtime SDK for Android 加载shp数据,中文乱码问题
  8. html网页中加载pdf,在HTML页面中嵌入本地PDF
  9. 机器人电机驱动及智能控制分析及展望
  10. mysql修改校对集_mysql数据库的基本操作(增删改查、字符集、校对集)
  11. Java的全局异常处理(统一异常处理)+登陆拦截鉴权+注解实现记录日志
  12. 全球消费精品消博会亮相!科蒂、资生堂、欧莱雅、奔富、保乐力加、红牛、雀巢、拜耳、澳佳宝都来了 | 美通社头条...
  13. 怎样在计算机中找小键盘,笔记本怎么关小键盘【方法步骤】
  14. 手机远程服务器rd,手机远程连接服务器工具:RD client远程桌面使用教程
  15. 21世纪新诞生的NBPL--语言与它的奠基人——SulluBouth.M.G博士
  16. 差分详细讲解(C++)
  17. 【2019全国职业技能大赛大数据技术】任务三:10-数据清洗与分析(25分_题目+答案<图片+分值>)
  18. 私有RTP协议和标准流媒体协议
  19. 在python中建立线性回归
  20. html边框样式不对,科技常识:HTML5 canvas画矩形时出现边框样式不一致的解决方法...

热门文章

  1. DVWA平台搭建安装
  2. php 空间租用,php空间租用的底层逻辑清单
  3. 如何通过查源码的方式解决编程中遇到的问题?查源码定位问题的思路是什么?
  4. 技术出色的BitTorrent是如何倒掉的?
  5. linux C time
  6. phpyun更新缓存
  7. 苏州新导智慧养老解决方案之智能床垫,24小时监测老人生命体征
  8. 数据结构复习——绪论
  9. Vue、Html前端页面引入live2dw 使用看板娘
  10. STO解析:从STO概念到STO生态圈