快速提问:
我在 PYQT 中编码,我对 Tkinter 不感兴趣,直到我发现它的画布。我正在制作一个 2D 动画应用程序,我需要画布,但我也想在 PYQT 中完成。
我很想从 tkinter 中获取画布并将其作为父级放入我的 pyqt 小部件中。
任何信息都会很棒,或者是指向在 pyqt 中制作画布的教程的链接,因为经过大量搜索后我自己没有找到任何信息。我在 pygame 中半制作了一个,但也无法将其作为 PYQT 的父项。
如果这是 Qt,即使在 Python 上,您也可以继承 QWidget,重新实现 paintEvent 并使用 QPainter 进行绘制。从这个意义上说,任何小部件都是画布(但 paintEvent 是受保护的。)
Tkinter 和 Qt 是完全不同的框架,您不能将 Tkinter 小部件集成到 Qt 窗口中。然而,Qt 有绘图的解决方案。
如果你是 PyQt 的新手,我强烈推荐这个教程。有一章是关于基础绘画的。之后,您就可以开始阅读本文档了。这是 C++ Qt 的文档,但您仍然可以将其应用于 PyQt,因为 python 中的 Qt 类具有相同的方法和属性 :) 您只需将 c++ 语法调整为 python。您甚至可以在那里找到教程。
当您对 PyQt 足够熟悉时,您可以研究绘画:我认为您可以在小部件上绘画(如果您没有很多要绘画的项目)或使用GraphicsView 架构(更复杂但更适合绘画) . 这两种方式都将比 TKinter 画布更难一些,因为 Qt 是一个大框架并且有很多选择。
祝你好运 :)