ich habe eine GUI erstellt, in der nun per Klick auf einen Menüeintrag ein neues MainWindow erzeugt werden soll.
Leider bekomm ich es nicht hin..
Hier mal der Quellcode:
Code: Alles auswählen
#!/usr/bin/python
import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QPushButton
import settings
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
#Beschreibung des Hauptfensters
self.resize(800, 400)
self.setWindowTitle(str('HappyBirthday'))
# Funktion 1: Exitbutton
exit = QtGui.QAction('Quit', self)
self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
#Oeffnen eines neuen Fensters
self.connect(self.settings,QtCore.SIGNAL('triggered()'),self.openWindow)
def openWindow(self):
self.window2 = settings.Window2()
menubar = self.menuBar()
file = menubar.addMenu('&Options')
file.addAction(settings)
file.addAction("Help")
file.addAction("About")
file.addAction(exit)
#Buttons
newgrp=QtGui.QPushButton(self)
newgrp.setText("New group")
newgrp.setGeometry(100, 300, 150, 100)
edit=QtGui.QPushButton(self)
edit.setText("Edit group")
edit.setGeometry(300, 300, 150, 100)
delgrp=QtGui.QPushButton(self)
delgrp.setText("Delete group")
delgrp.setGeometry(500, 300, 150, 100)
# settings = QtGui.QPushButton(self)
#settings.setText("Settings")
#Label/Textfelder
ueberschrift=QtGui.QLabel(self)
ueberschrift.setText("HappyBirthday")
ueberschrift.setGeometry(300, 40, 200, 30)
font = QtGui.QFont('Serif', 20, QtGui.QFont.Light)
ueberschrift.setFont(font)
app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
Das Fenster soll dann aus dem Script settings.py geladen werden:
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
from PyQt4 import QtCore
from PyQt4 import QtGui
class Window2(QtGui.QMainWindow):
def __init__(self,parent=None):
QtGui.QMainWindow.__init__(self,parent)
AttributeError: 'MainWindow' object has no attribute 'settings'
Ich muss mich für das Durcheinander entschuldigen. Habe viel rumprobiert und erstmal die Ordnung außenvor gelassen^^
Kann mir da jemand helfen und gibt es vielleicht noch eine einfachere Möglichkeit, um ein neues Fenster zu erstellen?
MfG