Pyglet在第二个屏幕上显示黑色部分

时间:2019-12-13 13:43:28

标签: python-2.7 pyglet raspberry-pi4

我有两个具有两种不同分辨率的显示器:

  • 第一屏:1980x1080
  • 第二屏:1920x1200

我想打开两个窗口以使用Pyglet显示两个图像。但是,我第二个屏幕上的第二个图像将被调整为第一个显示器的分辨率,并且将显示黑色部分。我该如何摆脱呢?

import pyglet

display = pyglet.canvas.get_display()
screens = display.get_screens()

print screens[0]
print screens[1]
class main(pyglet.window.Window):
    def __init__ (self):
        super(main, self).__init__(screen=screens[1])
        self.set_fullscreen(True)
        self.set_location(1920,0)

        self.background = pyglet.graphics.Batch()
        self.fancy_background = pyglet.sprite.Sprite(pyglet.image.load('/home/pi/test/Files/PIC/standard.jpg'), batch=self.background)

        self.alive = 1

    def on_draw(self):
        self.render()

    def on_close(self):
        self.alive = 0

    def on_key_press(self, symbol, modifiers):
        if symbol == key.ESCAPE: # [ESC]
            self.alive = 0

    def render(self):
        self.clear()
        self.background.draw()

        self.flip()

    def run(self):
        while self.alive == 1:
            self.render()
            event = self.dispatch_events()


class main2(pyglet.window.Window):
    def __init__ (self):
        super(main2, self).__init__(screen = screens[0])
        self.set_fullscreen(True)
        self.set_location(0,0)

        self.background = pyglet.graphics.Batch()
        self.fancy_background = pyglet.sprite.Sprite(pyglet.image.load('/home/pi/test/Files/PIC/standard.jpg'), batch=self.background)

        self.alive = 1


    def on_draw(self):
        self.render()

    def on_close(self):
        self.alive = 0

    def on_key_press(self, symbol, modifiers):
        if symbol == key.ESCAPE: # [ESC]
            self.alive = 0

    def render(self):
        self.clear()
        self.background.draw()

        self.flip()

    def run(self):
        while self.alive == 1:
            self.render()
            event = self.dispatch_events()

x = main()
x.run()

y = main2()
y.run()

0 个答案:

没有答案
相关问题