@xomiles

Почему не получается закрыть окно в PyQt5?

Есть вот такой код:
class MyMindow(object):
	def setupUi(self, MainWindow):
		MainWindow.resize(500, 600)
		MainWindow.setStyleSheet(u"background-color: #1e1f22")
		self.centralwidget = QWidget(MainWindow)
		self.verticalLayout_3 = QVBoxLayout(self.centralwidget)
		self.main_layout = QVBoxLayout()
		self.layout_top_app = QVBoxLayout()
		self.top_main_layout = QFrame(self.centralwidget)

		self.horizontalLayout_20 = QHBoxLayout(self.top_main_layout)
		self.horizontalLayout_20.setObjectName(u"horizontalLayout_20")

		self.close_btn = QPushButton(self.top_main_layout)
		icon2 = QIcon()
		icon2.addFile(u":/icons/icons/icon_close.png", QSize(), QIcon.Normal, QIcon.Off)
		self.close_btn.setIcon(icon2)
		self.close_btn.setIconSize(QSize(16, 20))

		self.close_btn.clicked.connect(self.close)

		self.horizontalLayout_20.addWidget(self.close_btn)

		MainWindow.setCentralWidget(self.centralwidget)

Но при его запуске мне выдаёт ошибку.
self.close_btn.clicked.connect(self.close)
AttributeError: 'SettingWindow' object has no attribute 'close'

С чем это связано и как это исправить? Подскажите пожалуйста.
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ну у твоего класса действительно есть только метод setupUi(), и нет метода close(). Неудивительно, что Питон этот метод тоже не находит.
Я с Qt не знаком, поэтому поинтересуюсь: а MyMindow точно должно наследоваться от object? Может, от какого другого класса?

А вообще выглядит всё так, словно этому коду место в MainWindow.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы