【发布时间】:2020-04-14 14:35:58
【问题描述】:
我正在制作一个基于 GUI 的 Tkinter 项目,在主屏幕之后,我必须打开以下窗口,其中包含一个绘制了条形图的图形。以下代码只是我项目的一部分(以及项目中许多按钮之一的命令// 而 screen2 是来自另一个根窗口的 Toplevel() 窗口)
qy4=Toplevel(screen2)
qy4.title("4th Query")
adjustWindow(qy4)
f1=Figure(figsize=(5,5),dpi=100).add_subplot(111).plot(q4())
canvas=FigureCanvasTkAgg(f1,master=canvas)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP,fill=tk.BOTH,expand=True)
toolbar=NavigationToolbar2Tk(f1,master=canvas)
toolbar.update()
canvas._tkcanvas.pack(side=tk.TOP,fill=tk.BOTH,expand=True)
但我明白了: 我想在我的“qy4”窗口上有相同的数字,这样我就可以在条形图上方或下方添加更多标签或文本框,我听说尝试了 n 件事情,但仍然找不到代码中有什么问题。
另外,上图的 x 轴标签是不可见的,我该如何以如下方式显示它们(请注意,屏幕截图中的以下代码已被编辑以显示它应该如何显示):
我从其他模块调用为 q4() 的实际代码:
我没有上传整个项目代码,只是上传了一部分,我对 Python 和 Tkinter 还很陌生,我在我的项目中遵循程序方法,我知道这是一种不好的编码方式。
【问题讨论】:
-
canvas=FigureCanvasTkAgg(f1,master=canvas):这应该会抛出一个错误,因为canvas是在定义之前使用的?应阅读:canvas=FigureCanvasTkAgg(f1,master=qy4) -
我进行了更改。尽管如此,该图形仍显示在画布窗口之外。
-
“我在我的项目中遵循程序方法,我知道这是一种不好的编码方式”——相反!过程式编程本身并没有错。
标签: python user-interface matplotlib tkinter matplotlib-widget