我目前正在使用我的全新覆盆子与adafruit的touch-tft
和覆盆子Cam。
我注意到,如果我运行raspivid -p
,它会在bash顶部的框架中显示预览。
如何创建一个应用程序(java,python,c ++(首选))来显示GUI而不必startx
?
我喜欢将adafruit的touch-tft
用于项目,但startx
需要大量资源。当然,拥有触控功能也会很酷。
编辑:
也许我表达自己有点困惑:我想创建一个不需要startx但有某种GUI的应用程序。
以下答案并非100%准备好,但他们指出了正确的方向。由于我看到了许多类似的问题,我将尝试逐步解决问题:
使用adafruit的TFT设置覆盆子:https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/overview (你不必用HDMI替换TFT作为标准显示器)
确保FRAMEBUFFER=/dev/fb1 startx
在TFT屏幕上正常运行,我将电视插入HDMI端口,这样我就可以在电视屏幕上使用bash并在TFT上运行x
按照本教程创建第一个pygame:http://www.pygame-doku.laymaxx.de/tut/intro/intro.html
(您只需复制并粘贴,wget ball.gif
)
在beggining处插入这2行:(github.com/notro/fbtft/wiki/Pygame)
import os
os.environ["SDL_FBDEV"] = "/dev/fb1"
如果要测试触摸屏,可以更改第15行: 从:
if event.type == pygame.QUIT: sys.exit()
要:
if event.type == pygame.MOUSEBUTTONDOWN: sys.exit()
如果您触摸屏幕,这将退出应用程序
保存文件,例如pygame1.py并使用$python pygame1.py
你现在应该在你的TFT上看到弹跳球,而HDMI输出仍然在你的电视上显示BASH(当然它不是活动的)如果你完成了第6步,触摸屏将退出游戏
为什么我要这样做?通过这种方式,您可以显示简单的GUI,例如按钮可以执行某些操作,例如,如果您使用RPI进行家庭控制,请打开/关闭灯。
答案 0 :(得分:11)
您可以使用例如pygame库!查看本教程http://archive.furtherfield.org/rp-resources/RP-workshop-handout.pdf pg。 17
答案 1 :(得分:6)
下面,您将找到有关如何成为最小窗口管理器的详细说明,以启动您选择的图形程序。
- 安装必需的包裹:
apt-get update
apt-get install xorg - no-install-recommends gdm3 matchbox-window-manager Iceweasel rsync-y
- 有问题的系统,选择添加新用户界面gdm3。终端是将使用的默认名称。
adduser kiosk
- 创建-的Xsession。用户登录时将执行此脚本。
xset s off
xset -dpms
matchbox-window-manager &
while true; do
rsync -qr --delete --exclude='.Xauthority’ /opt/kiosk/ $HOME/
firefox http://www.google.com (Replace your application!!!)
done
保存Ctrl + O;退出:Ctrl + X
chmod a + x. xsession
cp / opt / kiosk / .xsession / home / kiosk
设置自动登录。 Kiosk用户将在启动后自动进入。
nano / etc/gdm3/daemon.conf
[Daemon]
AutomaticLoginEnable = true
AutomaticLogin = kiosk
我们已选择配置,编程,如有必要
- 未在整个屏幕上加载时进行屏幕校准:
/ Boot / config.txt file, clear the comment:
disable_overscan = 1
我希望我帮助
答案 2 :(得分:1)
查看Urwid,一个可以在终端中运行的基于文本的UI,或者,我假设,在没有startx的情况下启动的Raspberry Pi。
答案 3 :(得分:0)
简而言之,像gedit这样的应用程序是在桌面环境(例如Gnome,Kde)之上构建的。