Несколько окон в PyQt4?

мы только начали использовать pyqt4. Я следовал за учебником (http://zetcode.com/tutorials/pyqt4/) Одна вещь, которая озадачивает меня, это эта часть:

def main():
    app = QtGui.QApplication(sys.argv)
    ex = GUI()
    sys.exit(app.exec())

И причину этого я объясняю здесь:

Я сделал небольшую программу, которая открывает еще четыре окна, кроме первого главного окна. Поэтому я попытался воспроизвести то, что я видел, работало с главным окном, и создал класс для каждого нового окна и попытался сделать то же самое с вышеупомянутым В настоящее время это выглядит так:

def main2():
    #app = QtGui.QApplication(sys.argv)
    ex2 = Settings()
    sys.exit(app.exec())

Как видите, я изменил его. Если я оставлю первую строку в функции без комментария, программа вылетит. Я пытался обойтись безsys.exit (app.exec_ ())-part, но это приведет к тому, что новое окно закроется только через миллисекунды после его показа. Таким образом, все работает и работает. Только что в командном окне отображается сообщение об ошибке. Я нене знаю, как это исправить, так как я не могу удалить последнюю строку, и я нене знаю, что заменить "приложение" с.

Я знаю я'Я, вероятно, делаю новые окна неправильно с самого начала, но я неНе знаю, как открыть эти окна из исходного окна любым другим способом. У меня нетя не смог заставить что-то еще работать, и это, по крайней мере, работает и работает прямо сейчас. Так что единственной проблемой являются сообщения об ошибках в подсказке, было бы неплохо от них избавиться :)

Спасибо за любую помощь (сложную и простую)!

Забыл упомянуть, я начал занятия так:

class GUI(QtGui.QMainWindow):
    def __init__(self):
        super(GUI, self).__init__()
        self.initUI()

а также

class Settings(QtGui.QWidget):
    def __init__(self):
        super(Settings, self).__init__()
        ...here goes some more...
        self.initUI2()

и я открываю окно настроек, вызывая main2 ()

Ответы на вопрос(1)

Ваш ответ на вопрос