wxpython刷新wxpython staticbitmap中的图像

时间:2015-06-15 09:02:10

标签: python wxpython wxwidgets

我需要你的帮助,刷新和更改wxpython中的staticbitmap图像而不会相互叠加,我正在python中构建一个slotmachine程序但我有一个问题,静态地图堆叠在彼此之上,每当我旋转的轮子用于显示图像的slotmachine ...提前看下面的图像,而不是.x。

屏幕截图在这里 - > http://s2.postimg.org/434h21t2x/problem.png

wheel_faces = controller.show_wheel_faces()

            image_list = {"CHERRY":"resources/cherry.png", "ORANGE":"resources/orange.png", 
                         "7":"resources/seven.png", "COIN":"resources/coin.png", 
                         "CLOWN":"resources/clown.png", "APPLE":"resources/apple.png"}

            if wheel_faces != []:
                #print wheel_faces
                wheel1 = wx.EmptyImage()
                wheel1 = wx.Image(image_list.get(wheel_faces[0]), 
wx.BITMAP_TYPE_PNG).ConvertToBitmap()
                wx.StaticBitmap(self, -1, wheel1, pos=(135, 272))


                wheel2 = wx.Image(image_list.get(wheel_faces[1]), 
wx.BITMAP_TYPE_PNG).ConvertToBitmap()
                wx.StaticBitmap(self, -1, wheel2, pos=(276, 272))

                wheel3 = wx.Image(image_list.get(wheel_faces[2]), 
wx.BITMAP_TYPE_PNG).ConvertToBitmap()
                wx.StaticBitmap(self, -1, wheel3, pos=(415, 272))
                self.Refresh()

                self.account_balance += int(controller.show_winnings())

                if controller.show_winnings() != 0:
                    self.payout_label.SetLabel(str(self.account_balance))

                self.spin_label.SetLabel(str(controller.show_winnings()))
                #print controller.balance_manager()
                self.Refresh()

1 个答案:

答案 0 :(得分:0)

您需要用新图片更新wx.StaticBitmap。

命令是:

someStaticBitmap.SetBitmap(wx.Bitmap(self.img))

在您的代码中,您没有引用任何静态位图。因此,您可能需要更改它,以便可以放入新的照片。