# This is only needed for Python v2 but is harmless for Python v3.
from PyQt4 import QtCore, QtGui


class CentralWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(CentralWidget, self).__init__(parent)
        self.setAttribute(QtCore.Qt.WA_StaticContents)

    def mousePressEvent(self, event):
        pass

    def mouseMoveEvent(self, event):
        pass
        
    def mouseReleaseEvent(self, event):
        pass

    def paintEvent(self, event):
        pass


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

        self._centralWidget = CentralWidget()
        self.setCentralWidget(self._centralWidget)

        self.createActions()
        self.createMenus()

        self.resize(100, 100)

    def closeEvent(self, event):
        event.accept()

    def about(self):
        QtGui.QMessageBox.about(self, "Sandbox", "<p>This is Qt failing.</p>")
    
    def change_things(self):
        self.fileMenu.setTitle("&Filo")
        self.optionMenu.setTitle("&Optionen")
        self.helpMenu.setTitle("Not Help")

    def createActions(self):
        self.exitAct = QtGui.QAction("E&xit", self, shortcut="Ctrl+Q",
                triggered=self.close)
        
        self.changeThingsAct = QtGui.QAction("Change menu titles", self,
                                             triggered=self.change_things)

        self.aboutAct = QtGui.QAction("&About", self, triggered=self.about)
        self.aboutQtAct = QtGui.QAction("About &Qt", self,
                triggered=QtGui.qApp.aboutQt)
        self.randomAct = QtGui.QAction("Random", self, triggered=self.about)

    def createMenus(self):
        self.fileMenu = QtGui.QMenu("&File", self)
        self.fileMenu.addAction(self.exitAct)

        self.optionMenu = QtGui.QMenu("&Options", self)
        self.optionMenu.addAction(self.changeThingsAct)

        self.helpMenu = QtGui.QMenu("Help", self)
        self.helpMenu.addAction(self.aboutAct)
        self.helpMenu.addAction(self.aboutQtAct)
        self.helpMenu.addAction(self.randomAct)

        self.menuBar().addMenu(self.fileMenu)
        self.menuBar().addMenu(self.helpMenu)
        self.menuBar().addMenu(self.optionMenu)


if __name__ == '__main__':

    import sys

    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())
