python - 如何在 python GUI(最好是 wxpython)中创建和交互式等距框架以绘制图表

标签 python wxpython isometric

我正在设计一个管道软件,现在它可以在 2D 上运行。我用 wx.paintDC() 实现了一个非常简单的框架,它基本上是这样的:

def OnDrawing(self, evt):
    dc = wx.PaintDC(self.leftWindow)
    self.leftWindow.PrepareDC(dc)
    dc.Clear()
    for image in self.images[1:]:
        x = image[1][0]
        y = image[1][1]
        img = wx.Image(image[0], wx.BITMAP_TYPE_ANY)
        bmp = wx.BitmapFromImage(img)
        dc.DrawBitmap(bmp, x, y, True)

结果是这个[1] .右侧的按钮用于将部分(管道、阀门等)添加到右侧框架。当你点击一个按钮时,程序计算位置并绘制它,所以框架是非交互式的,你不能点击管道或阀门的部分,不能调整它的大小,等等。

这非常容易和简单,但作为一名新程序员,它花费了我一些时间(我为此感到非常自豪)。现在我想改进它,我现在想做的是创建一个类似 3D 的交互式框架,用户可以在其中“通过鼠标”创建管道图,单击它们以更改属性等。

我的目标是什么 [2] [3] .像这样的等距背景[4]

我想这并不容易(但一开始对我来说也不是我所做的),但我决定继续努力和学习以实现它。我想从你们那里得到指示......

现在我不知道从哪里开始,想知道“这在 wx 上可行吗?”“我应该使用 openGL 还是什么?”。我需要你指出正确的方向。

仅用 wx 可以实现吗?或者我需要 pyopengl(我对此一无所知的女巫),或类似的东西?

谢谢!!!...

最佳答案

您可能想要研究 Python-Ogre。 Ogre 是一个开源的 3D 引擎,Python-Ogre 可以让你通过 Python 来操作场景。这可以让您专注于用户界面,而不是学习如何使用 pyopengl 绘制带纹理的三角形。

http://python-ogre.org/

关于python - 如何在 python GUI(最好是 wxpython)中创建和交互式等距框架以绘制图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5137205/

相关文章:

python - 如何根据不同的列更改一列中的值?

python - wxPython 的建议框?

java - 绘制等距墙

c++ - 如何在 DirectX 10 中绘制大量(500 多个) Sprite 来构建等距平铺 map ?

canvas - 查找在等距交错列系统中单击了哪个图 block

Python将字符串转换为字典

python - 为什么python字典占用这么多内存?

python - 如何从 SymPy 分段对象中提取函数?

python - wxPython {Mask} 中的透明图像

wxpython - wxWidgets 的间距/空边框