В чём заключается ошибка? Python
Прописываю данный код и выдаёт ошибку
class MainWindow(QDialog):
def __init__(self):
super(MainWindow, self).__init__()
loadUi("main.ui", self)
self.settings_hm.clicked.connect(self.setting)
self.porydk = 1
class Settings_l(QDialog):
def __init__(self):
super(Settings_l, self).__init__()
loadUi("settings.ui", self)
...
def new(self):
self.porydk += 1
self.groupBox_2 = QGroupBox(self.scrollAreaWidgetContents)
self.groupBox_2.setMinimumSize(QSize(411, 251))
self.groupBox_2.setMaximumSize(QSize(411, 251))
self.groupBox_2.setCheckable(False)
self.groupBox_2.setStyleSheet(u"border: 2px solid #FDD2BF;\n"
"border-radius: 10;")
self.groupBox_2.setObjectName(f"groupBox_{self.x}")
Ошибка - AttributeError: 'Settings_l' object has no attribute 'porydk'
Как это исправить?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Не знаю для чего вам это нужно, но если это свойство нужно в MainWindow, можно его сделать свойством класса
Пример:
class MainWindow(QDialog):
porydk = 1 # Свойство класса
def __init__(self):
super(MainWindow, self).__init__()
loadUi("main.ui", self)
self.settings_hm.clicked.connect(self.setting)
class Settings_l(QDialog):
def __init__(self):
super(Settings_l, self).__init__()
loadUi("settings.ui", self)
...
def new(self):
# Обращаемся и меняем свойство класса
MainWindow.porydk += 1
self.groupBox_2 = QGroupBox(self.scrollAreaWidgetContents)
self.groupBox_2.setMinimumSize(QSize(411, 251))
self.groupBox_2.setMaximumSize(QSize(411, 251))
self.groupBox_2.setCheckable(False)
self.groupBox_2.setStyleSheet(u"border: 2px solid #FDD2BF;\n"
"border-radius: 10;")
self.groupBox_2.setObjectName(f"groupBox_{self.x}")
Но мне кажется, что это свойство должно было быть в конструкторе Settings_l:
class MainWindow(QDialog):
def __init__(self):
super(MainWindow, self).__init__()
loadUi("main.ui", self)
self.settings_hm.clicked.connect(self.setting)
class Settings_l(QDialog):
def __init__(self):
super(Settings_l, self).__init__()
loadUi("settings.ui", self)
self.porydk = 1
...
def new(self):
self.porydk += 1
self.groupBox_2 = QGroupBox(self.scrollAreaWidgetContents)
self.groupBox_2.setMinimumSize(QSize(411, 251))
self.groupBox_2.setMaximumSize(QSize(411, 251))
self.groupBox_2.setCheckable(False)
self.groupBox_2.setStyleSheet(u"border: 2px solid #FDD2BF;\n"
"border-radius: 10;")
self.groupBox_2.setObjectName(f"groupBox_{self.x}")