我试图从其类的外部设置StackedWidget的索引,但是却收到一个错误,即该对象没有属性。我的代码如下(我为缩进感到抱歉,未正确粘贴):
import sys
from functools import partial
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import QtCore, QtWidgets, QtGui
class MainWindow(QMainWindow):
def __init__(self, parent=None):
QMainWindow.__init__(self, parent)
self.setWindowTitle('Sample')
self.resize(400,400)
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
self.central_widget = QStackedWidget()
self.setCentralWidget(self.central_widget)
self.start_screen = ut_Screen1()
self.central_widget.addWidget(self.start_screen)
self.central_widget.setCurrentWidget(self.start_screen)
class ut_Screen1(QWidget):
def __init__ ( self ):
super ( ut_Screen1, self ).__init__ ()
nav_layout = QVBoxLayout()
nav_layout.setSpacing(0)
nav_layout.setContentsMargins(0,0,0,0)
self.setLayout(nav_layout)
self.frame_top = QFrame()
self.frame_top.setMinimumSize(QtCore.QSize(400,100))
self.frame_top.setMaximumSize(QtCore.QSize(400, 100))
self.frame_top.setStyleSheet("background-color: rgb(100, 100, 255)")
self.frame_top.stack_t1 = ut_Nav()
self.frame_top.StackTop = QStackedWidget(self)
self.frame_top.StackTop.addWidget(self.frame_top.stack_t1)
layout_top_h = QVBoxLayout(self.frame_top)
layout_top_h.addWidget(self.frame_top.StackTop)
self.stack_b1 = ut_Bottom1()
self.stack_b2 = ut_Bottom2()
self.StackBot = QStackedWidget(self)
self.StackBot.addWidget(self.stack_b1)
self.StackBot.addWidget(self.stack_b2)
nav_layout.addWidget(self.frame_top)
nav_layout.addWidget(self.StackBot)
单击该按钮时,出现错误:
类型对象“ ut_Screen1”没有属性“ StackBot”
在此先感谢您的指导。
暮色呼如
相关分类