当前位置: 代码迷 >> python >> 如何在python Tkinter中创建嵌套窗口?
  详细解决方案

如何在python Tkinter中创建嵌套窗口?

热度:25   发布时间:2023-06-13 14:04:23.0

我想在一个窗口内创建一个窗口。 外窗只是普通的,内窗是一个图形。 原因是我想创建一个带有多个图形的监视系统,其中嵌套窗口会有所帮助。

这是代码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import Tkinter

x = []
y = []

top = Tkinter.Tk()

top.title("Hello tkInter");
top.geometry("1000x1000")

fig=plt.figure()

rect = fig.patch
rect.set_facecolor('#31312e')

readFile = open('sampleCSV.csv','r')
sepFile = readFile.read().split('\n')
readFile.close()

for plotPair in sepFile:
    xAndY = plotPair.split(',')
    if xAndY[0] != '':
        x.append(int(xAndY[0]))
        y.append(int(xAndY[1]))

ax1 = fig.add_subplot(2,2,1, axisbg='grey')
ax1.plot(x, y, 'c', linewidth=3.3)
ax1.tick_params(axis='x', colors='c')
ax1.tick_params(axis='y', colors='c')
ax1.spines['bottom'].set_color('w')
ax1.spines['top'].set_color('w')
ax1.spines['left'].set_color('w')
ax1.spines['right'].set_color('w')
ax1.yaxis.label.set_color('c')
ax1.xaxis.label.set_color('c')
ax1.set_title('Matplotlib graph', color = 'c')
ax1.set_xlabel('x axis')
ax1.set_ylabel('y axis')

ax2 = fig.add_subplot(2,2,2, axisbg='grey')
ax2.plot(x, y, 'c', linewidth=3.3)
ax2.tick_params(axis='x', colors='c')
ax2.tick_params(axis='y', colors='c')
ax2.spines['bottom'].set_color('w')
ax2.spines['top'].set_color('w')
ax2.spines['left'].set_color('w')
ax2.spines['right'].set_color('w')
ax2.yaxis.label.set_color('c')
ax2.xaxis.label.set_color('c')
ax2.set_title('Matplotlib graph', color = 'c')
ax2.set_xlabel('x axis')
ax2.set_ylabel('y axis')

ax3 = fig.add_subplot(2,1,2, axisbg='grey')
ax3.plot(x, y, 'c', linewidth=3.3)
ax3.tick_params(axis='x', colors='c')
ax3.tick_params(axis='y', colors='c')
ax3.spines['bottom'].set_color('w')
ax3.spines['top'].set_color('w')
ax3.spines['left'].set_color('w')
ax3.spines['right'].set_color('w')
ax3.yaxis.label.set_color('c')
ax3.xaxis.label.set_color('c')
ax3.set_title('Matplotlib graph', color = 'c')
ax3.set_xlabel('x axis')
ax3.set_ylabel('y axis')

plt.show()

fig.pack()

top.mainloop()

我无法解决此问题。 请帮忙!

请阅读有关 。 代码太多,没有错误回溯,没有问题。 但是,我相信您的问题是matplotlib和tkinter不兼容,至少不是没有很多工作。 如果plt.show()实际上运行,我希望由于figmatlab.pyplot.figure()Figure实例,并且该类没有fig.pack() pack方法,因此fig.pack()会引发AttributeError。