如何为“嵌入式”Raspberry Pi创建简单的GUI?

时间:2015-08-05 23:58:38

标签: python linux user-interface raspberry-pi2

我希望这对这个论坛来说不是一个太普通的问题。

我想创建一个简单的GUI,只有三到四个可点击的选项,而没有典型的GUI打开/关闭/调整大小选项。

我是一个没有经验的程序员,作为一个爱好,我创建了一个温度,湿度等数据记录器。它运行在Linux / Raspbian下的Raspberry Pi和Python代码上。我可以通过网络发送数据并通过Web界面将其可视化。

但是,我想在数据收集点创建一个可以脱机工作的本地显示。我希望用户能够在三个或四个显示可视化中进行选择。

我使用tkinter调查了一下,但我不希望用户能够关闭窗口,也不希望调整它们等等(典型的GUI操作)。我正在寻找与汽车GPS设备中典型嵌入式软件类似的外观和感觉。任何窗式环境都会让我的4英寸屏幕变得杂乱无章。 似乎我们有像tkinter或PyGTK这样的全面GUI或本地Web显示。这两个解决方案都运行在Windows X之上,这似乎是一种过度杀伤,并不会限制用户与系统交互的能力。

我找不到任何解决方案。例如,这个Instructable:http://www.instructables.com/id/Raspberry-Pi-Wall-Display-Without-X-Windows/实际上只是一个幻灯片放映系统。

有人可以为此推荐一个解决方案吗? 谢谢!

3 个答案:

答案 0 :(得分:2)

通常,当您启动X服务器时,它会为您运行窗口管理器或桌面环境(例如Gnome,Unity,KDE)。这是处理其他程序调整大小和绘制窗口装饰的组件。各个应用程序通常只是绘制窗口的内容。

您可以通过指定要作为[{1}}参数运行的程序来启动没有窗口管理器的X服务器。例如,来自https://raspberrypi.stackexchange.com/questions/11866/how-can-i-start-x11-only-for-a-single-application

startx

这会在kiosk模式下启动铬。您可以在其中替换(例如)tkinter程序,但您可能必须检测屏幕大小并调整应用程序的大小和位置。

答案 1 :(得分:2)

有一些“TUI”选项(T代表Text而不是Graphical)不需要X.您将获得可满足您需求的按钮和其他小部件。查看http://one-size-doesnt-fit-all.blogspot.com.au/2010/05/configuring-apache-jmeter-for-apex.htmlDialog。这是一个很好的Whiptail

答案 2 :(得分:0)

看看LVGL。它是开源的,易于移植,无需任何窗口管理器即可直接使用/dev/fb