Raspberry Pi:如何在TFT显示器上显示python的输出

Raspberry Pi:如何在TFT显示器上显示python的输出,python,pygame,raspberry-pi,Python,Pygame,Raspberry Pi,我试图将一些数据从python脚本输出到Sainsmart 1.8 TFT显示器。按照中的说明,我能够在tft显示屏上用 FRAMEBUFFER=/dev/fb1 startx 当我试图从python脚本输出数据时,pygame窗口(“弹出式”)会打开,但不是在tft屏幕上,而是在连接到带HDMI的Raspberry的主屏幕上 我的代码来自: #/usr/bin/env python #-*-编码:utf-8-*- # #创作:26.05.2013 #最后更新:07.04.2015 # #Ge

我试图将一些数据从python脚本输出到Sainsmart 1.8 TFT显示器。按照中的说明,我能够在tft显示屏上用

FRAMEBUFFER=/dev/fb1 startx
当我试图从python脚本输出数据时,pygame窗口(“弹出式”)会打开,但不是在tft屏幕上,而是在连接到带HDMI的Raspberry的主屏幕上

我的代码来自:

#/usr/bin/env python
#-*-编码:utf-8-*-
#
#创作:26.05.2013
#最后更新:07.04.2015
#
#Georg Kainzbauer 2013-2015版权所有
#
#这个程序是自由软件;您可以重新分发和/或修改它
#它是根据GNU通用公共许可证的条款发布的
自由软件基金会;许可证的第2版,或
#(由您选择)任何更高版本。
#
导入操作系统
导入系统
导入时间
导入pygame
时间戳上一次=0
os.environ[“SDL_FBDEV”]=“/dev/fb1”
os.environ['SDL\u VIDEODRIVER']=“fbcon”
def displaytext(文本、大小、线条、颜色、透明屏幕):
如果清除屏幕:
屏幕填充((255255))
font=pygame.font.font(无,大小)
text=font.render(文本,0,颜色)
rotated=pygame.transform.rotate(文本,-90)
textpos=已旋转。get_rect()
textpos.centery=80
如果行==1:
textpos.centerx=99
屏幕。blit(旋转,textpos)
elif行==2:
textpos.centerx=61
屏幕。blit(旋转,textpos)
elif行==3:
textpos.centerx=25
屏幕。blit(旋转,textpos)
def main():
全球屏幕
pygame.init()
pygame.mouse.set_可见(0)
尺寸=宽度,高度=128160
screen=pygame.display.set_模式(大小)
尽管如此:
displaytext(time.strftime(“%d.%m.%Y”),40,1,(0,0,0),True)
displaytext(time.strftime(“%H:%M:%S”),40,2,(0,0,0),False)
显示文本(“www.gtkdb.de”,20,3,(0,0,0),假)
pygame.display.flip()
时间。睡眠(1)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
有人能告诉我如何在tft屏幕上显示脚本的输出吗?

我读到一个解决方案,似乎是创建一个
.xinitrc
文件

试试这个:

chmod +x ./clock.py # make the clock file executable
mv ./clock.py ~/.xinitrc # move it to where startx starts it
FRAMEBUFFER=/dev/fb1 startx # startx will start it

注意:我在Lubuntu下对此进行了测试,之后仍然可以登录并使用用户界面。

非常感谢-它可以工作!你能给我提供一个链接或者一些你是如何登录的吗?因为我的主屏幕变黑了,我无法键入任何内容。哦,不,发布到早期:(。我现在无法再使用UI登录。现在登录后,在我键入“startx”后,它会启动clock.py(在我的主屏幕上)。您可以使用Control+Alt+F3打开一个新的终端窗口,然后使用
nano~/.xinitrc
从那里登录并编辑。
chmod +x ./clock.py # make the clock file executable
mv ./clock.py ~/.xinitrc # move it to where startx starts it
FRAMEBUFFER=/dev/fb1 startx # startx will start it