Прежде всего, на подобные вопросы уже был дан ответ, но мне нужна помощь с этим.PyQT: как открыть новое окно
У меня есть окно, которое содержит одну кнопку (класс First) и я хочу на нажата, второе пустое окно, чтобы быть появился (класс второй).
Я повозился с кодом скопированного из этого вопроса: PyQT on click open new window, и я писал этот код:
# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore
import sys
import design1, design2
class Second(QtGui.QMainWindow, design2.Ui_MainWindow):
def __init__(self, parent=None):
super(Second, self).__init__(parent)
self.setupUi(self)
class First(QtGui.QMainWindow, design1.Ui_MainWindow):
def __init__(self, parent=None):
super(First, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.on_pushButton_clicked)
self.dialog = Second(self)
def on_pushButton_clicked(self):
self.dialog.exec_()
def main():
app = QtGui.QApplication(sys.argv)
main = First()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
но on_pressed, появляется сообщение об ошибке:
AttributeError: 'Second' object has no attribute 'exec_'
(design1 и design2 есть был получен от дизайнера Qt.)
Любая мысль была бы оценена.
В то время как 'QDialog' имеет' метод exec_', вы подклассы 'QMainWindow', который не имеет этот метод. Вы можете прочитать о различиях между классами tge и решить, что вы хотите использовать. –