微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建第一个选项卡时不显示

如何解决创建第一个选项卡时不显示

我的 GUI 程序需要一些帮助。当我单击菜单栏中的按钮时,应该会创建一个选项卡并显示如图所示的内容。但是,每次单击该按钮时,都会创建一个新选项卡,但第一次单击该按钮时没有任何显示内容仅在创建第二个选项卡时显示

这是控制台给出的消息:

Traceback (most recent call last):
 File "C:\Users\ASUS\anaconda3\lib\site-packages\matplotlib\backends\backend_qt5.py",line 496,in _draw_idle
    self.draw()
  File "C:\Users\ASUS\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py",line 388,in draw
    self.renderer = self.get_renderer(cleared=True)
  File "C:\Users\ASUS\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py",line 404,in get_renderer
    self.renderer = RendererAgg(w,h,self.figure.dpi)
  File "C:\Users\ASUS\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py",line 92,in __init__
    self._renderer = _RendererAgg(int(width),int(height),dpi)
ValueError: Image size of 11184794x453 pixels is too large. It must be less than 2^16 in each direction.

内容仅在我创建第二个标签显示

the content only show up when i create the second tab

创建第一个选项卡时不显示内容

the content does not show up when the first tab is created

相关代码从这里开始

self.actionMarket.triggered.connect(lambda:self.show_result('Grid')) #to show result
self.actionFuel_Cell.triggered.connect(lambda:self.show_result('FC')) #to show result

def show_result(self,component_name):
    self.new_tab = QtWidgets.QWidget()
    self.new_tab.setobjectName(component_name)
    self.plot_widget_1 = QtWidgets.QWidget(self.new_tab)
    self.tabWidget.addTab(self.new_tab,"")
    self.tabWidget.setTabText(self.tabWidget.indexOf(self.new_tab),QtCore.QCoreApplication.translate("MainWindow",component_name))
    # self.plot_widget_1.setMinimumSize(QtCore.QSize(0,100))
    self.plot_widget_1.setMinimumSize(QtCore.QSize(16777215,500)) 
    self.plot_widget_1.setMaximumSize(QtCore.QSize(16777215,500)) 
    self.plot_widget_1.setobjectName("plot_widget_1")
    
    
    dynamic_canvas = figureCanvas(figure(figsize=(10,10)))

    self._dynamic_ax = dynamic_canvas.figure.subplots()

    x_Axis=[]    
    for i in range (1,25):
        x_Axis.append(i)

    self._dynamic_ax.bar(x_Axis,MG.get_component(component_name))
    self._dynamic_ax.set(xlabel='Time(hour)',ylabel='Power(kW)',title= "Power Schedule of " + component_name)

    self.table = QtWidgets.QTableWidget(0,2)
    self.table.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
    
    layout = QtWidgets.qgridLayout(self.plot_widget_1)
    layout.addWidget(dynamic_canvas,0)
    layout.addWidget(self.table,1)
    layout.setColumnStretch(0,2)
    layout.setColumnStretch(1,1)
    self.table.setColumnCount(1)
    self.table.setRowCount(24)
    item = QtWidgets.QTableWidgetItem()

    for i in range (24):
            self.table.setVerticalHeaderItem(i,item)
            item = QtWidgets.QTableWidgetItem()

    self.table.setHorizontalHeaderItem(0,item)
    item = QtWidgets.QTableWidgetItem()

    for i in range (24):
        self.table.setItem(i,item)
        item = QtWidgets.QTableWidgetItem()

    for i in range (24):
        item = self.table.verticalHeaderItem(i)
        item.setText(str(i+1))

    item = self.table.horizontalHeaderItem(0)
    item.setText("Generation (kW)")

    
    __sortingEnabled = self.table.isSortingEnabled()
    self.table.setSortingEnabled(False)

    for i in range(24):
        item = self.table.item(i,0)
        item.setText(str(MG.get_component(component_name)[i]))

    self.table.setSortingEnabled(__sortingEnabled)
    self.tabWidget.setCurrentIndex(self.tabWidget.count()-1) #to view the newly created tab 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。