【问题标题】:Tkinter python GUI trouble with module and __init__模块和 __init__ 的 Tkinter python GUI 问题
【发布时间】:2021-05-10 19:48:52
【问题描述】:

所以我找到了用户 tpvasconcelos 制作的“BoxParti”这个程序,我认为它对我的研究有很大帮助。可悲的是,它使用了一些我以前从未使用过的软件包,让它为我工作有点问题。我没有更改代码中的任何内容,但它不想与我一起工作。问题主要出在 tkinter 上,我不太熟悉。我以前从未使用过 GUI,所以这对我来说有点棘手。目前我只想让这个程序工作并检查它是否真的对我有用。我一直在努力让它自己工作,但遗憾的是我没有成功。这对我来说有点复杂,因为我有一段时间没有使用 python + 还没有真正使用过任何 GUI。下面我粘贴链接以下载代码。我在 Python 3.8 或 2.7 上运行它,在两个版本上我都会遇到相同的错误。在链接下方,我粘贴错误日志。我将非常感谢任何可以将我推向正确方向的提示,因为在我看来我很迷茫

https://github.com/TPVasconcelos/BoxParti

Traceback (most recent call last):
  File "BoxParti.py", line 1493, in <module>
    app = BoxParti()
  File "BoxParti.py", line 53, in __init__
    frame = F(container, self)
  File "BoxParti.py", line 151, in __init__
    self.make_plot(frame)
  File "BoxParti.py", line 176, in make_plot
    self.canvas.show()
AttributeError: 'FigureCanvasTkAgg' object has no attribute 'show'

【问题讨论】:

  • 也许它是用于库的较旧版本的 tkinter,否则这看起来很难修复(也许可以更改源代码),同样在使用 python 2.7 进行测试时,您是否使用了 @987654323 @ 或 tkinter?
  • 如果我没记错的话,我使用了 Tkinter,否则它没有以正确的方式导入包。

标签: python matplotlib tkinter scipy


【解决方案1】:

此代码可能适用于早期版本的 Python,例如蟒蛇 3.5。有几件事已被弃用。这意味着,您必须找到正确的包。

例如,如果您取消注释以下代码,则代码将在 Python 3.8 上运行。

取消注释:#self.canvas.show() 行; 177, 610, 646, 692, 817, 1268, 1299, 1371

也取消注释; self.canvas.get_tk_widget()#.grid(row=0, column=1),在行中 179, 819.

但它不显示 2D 或 3D 动画。这可能是因为取消注释 self.canvas.show()

因此,如果你想运行这段代码,你必须找到旧版本所需的库。我不建议这样做。

除此之外,BoxParti 已扩展为 mdsea,您可以安装 mdsea,它可能会更好。

【讨论】:

  • 哦,哇,非常感谢,我以前没见过这个 mdsea 程序。我认为它要复杂得多,但也许我可以让它对我有用。还要感谢您注意到我可以通过取消注释某些行来运行程序,以前没有注意到。给您添麻烦了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
  • 2021-09-23
  • 2018-02-19
  • 1970-01-01
  • 2013-12-25
  • 1970-01-01
相关资源
最近更新 更多