cardgam的Python图形用户界面

2024-04-20 02:08:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我计划用python编写一个纸牌游戏,现在正在寻找一个GUI(我是python新手)。 到目前为止,我已经尝试了两种GUI:TK(inter)和wxPython

他们两个似乎都无法做到,如果我错了,他们都无法纠正我:

dragging a panel with an image of a Card in it

甚至不是拖拉的问题。情况就是这样

  1. 我想把卡片放在一个容器里。它应该能够显示卡的正面和背面,所以我希望每张卡都是一个面板,而不是一个光的图像。
  2. 图像应具有透明区域(卡角为圆形)
  3. 面板(容器)应该是透明的(这样卡片可以被拖到不同的背景色,桌子上的其他卡片,…)

TKinter:无法按我的理解执行3

wxPython:无法按我的理解执行2。

我可以一个接一个地去发现GUI,但这有点费时,所以我的问题是:

  1. TKinter和wxPython有这些缺点吗?
  2. 如果是,要去哪个GUI?

我听说过pygame,但我对GUI的要求并不高。Swing(java)可以做到这一点,这也不是以游戏为中心的。


Tags: 图像游戏面板tkinterwithwxpythongui容器
3条回答

wxPython可以做到透明,只需要使用透明png。

png = wx.Image(imageFile, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
wx.StaticBitmap(self, -1, png, (10, 5), (png.GetWidth(), png.GetHeight()))

Showing a .png image in a window in wxPython

你应该看看wxPython演示的例子,并询问wxPython邮件列表,看看是否有人做了类似的事情。在演示中,有一个DragImage演示程序,它可以完成您正在寻找的一些功能。

否则,其中一个Python游戏库可能更适合您的需要。PyGame可能是最有名的。有一段时间,皮格勒的势头正在增强。另见wxPython or pygame for a simple card game?

如果你想写一个游戏,我建议不要使用GUI库。相反,您应该寻找游戏库,比如PyGamePyOpenGlKivy(除了其他的)。它们都应该能满足你的需要。

相关问题 更多 >