https://blog.csdn.net/panrenlong/article/details/80183519?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3
看了这篇文章还不太清楚,是在窗体上直接创建一个tabwidget,还是在groupbox中创建一个tabwidget,而且如何在tab1和tab2显示不同的图像?
class MyFigure1(FigureCanvas):
def __ init__(self, width=5, height=4, dpi=100):
#plt.rcParams['font.family'] = ['SimHei'] # 用来正常显示中文标签
#plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
self.fig = Figure(figsize=(width, height), dpi=dpi)#创建一个绘制窗口Figure对象
super(MyFigure1, self).init(self.fig)#在父类中激活Figure窗口,同时继承父类属性
class moveWidget(QTabWidget,Ui_MainWindow):
def __ init__(self, parent=None):
super(moveWidget, self).init(parent)
self.setupUi(self)
self.plotxjpm()
def plotxjpm(self):
self.F1 = MyFigure1(width=5, height=4, dpi=100)
# 继承容器groupBox_5
#self.gridlayout = QGridLayout(self.groupBox_5) ########################修改
#self.gridlayout.addWidget(self.F1, 0, 1) # 将画板添加到布局中
vlayout = QVBoxLayout(self.widget) # 在中心部件上创建一个布局添加TabWidget控件
self.tabwidget = QTabWidget() # 添加一个Tab控件用于存放显示图像的部件
# 下面这些属性设置可不要
# self.tabwidget.setTabsClosable(True)
# self.tabwidget.setUsesScrollButtons(True)
# self.tabwidget.setTabPosition(0)
# self.tabwidget.setElideMode(2)
# self.tabwidget.setMovable(True)
# self.tabwidget.resize(300, 500)
vlayout.addWidget(self.tabwidget)
self.gridlayout1 = QGridLayout(self.tabwidget)
self.gridlayout1.addWidget(self.F1, 0, 0)
self.F1.ax1 = self.F1.fig.add_subplot(111)
##动态画图
xlen = len(list1)
plt.axis([0, xlen, 0, list1[1]]) # axis([xmin, xmax, ymin, ymax])
plt.ion()
xs = [0, 0]
ys = [1, 1]
for i in range(xlen):
y = list1[i] # 按顺序提取数列中的值
xs[0] = xs[1]
ys[0] = ys[1]
xs[1] = i
ys[1] = y
plt.plot(xs, ys, c='w', ls='-') # 飞机标志?
plt.pause(0.001) # 越小越快