【发布时间】:2016-07-25 17:46:30
【问题描述】:
我一直在 Kivy 中关注 tutorial 并遇到问题。当我更改窗口大小时,图像不显示。我的代码是:
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.image import Image
from kivy.app import App
class Sprite(Image):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.size = self.texture_size
class Game(Widget):
def __init__(self):
super().__init__()
self.background = Sprite(source="Sprites/CartoonForest.png")
self.size = self.background.size
self.add_widget(self.background)
class GameApp(App):
def build(self):
game = Game()
Window.size = game.size
return game
if __name__ == '__main__':
GameApp().run()
我玩了一下,导入了不同扩展名和大小的不同图像,更改了代码等,但只有当我在 build 方法中省略了 Window.size = game.size 行时>GameApp 它显示了图像。当我通过拖动图像的一角调整窗口大小时,图像也消失了。
这是什么原因,我该如何修复屏幕尺寸以匹配图像尺寸?
我正在使用:
- Mac OS X Yosemite 10.10.5
- PyCharm 社区版 2016.1.4
- Python 3.5.2
- 基维 v1.9.1
【问题讨论】:
-
我在
master分支上没有问题。尝试从源安装。另外,您的super()也可以这样工作吗? O_ô -
@KeyWeeUsr 你也在使用 OS X 吗?因为我确实相信这是 OS X 的问题,但我不确定并且仍在寻找答案。
super()在 Python 3.x 中是合法的,因此在该区域没有问题(我也在许多其他程序中使用过它)。 -
我没有,但是尝试使用 master 分支是个好主意。如果它是一个错误,它也可能为 Mac 修复。对不起
super(),我还在用py2。 -
这 - github.com/kivy/kivy 这是 kivy 的官方存储库。当前的 master 分支是 1.9.2 版本,您写道您使用的是 1.9.1。提到了如何安装它here。
标签: python-3.x kivy