# coding: utf-8 from PyQt4 import QtGui from PaintWindow import PaintWindow from tetris import Board from PyQt4.QtCore import Qt import icons_rc class MainWindow(QtGui.QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setGeometry(0,0,800,600) self.createActions() self.createMenus() self.createToolBars() self.createStatusBar() self.paintWindow = PaintWindow(self) self.setCentralWidget(self.paintWindow) self.tetrisBoard = Board(self) self.tetris = QtGui.QDockWidget(self.tr("Tetris")) self.tetris.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) self.tetris.setWidget(self.tetrisBoard) self.addDockWidget(Qt.RightDockWidgetArea, self.tetris) self.tetrisBoard.start() self.center() def center(self): screen = QtGui.QDesktopWidget().screenGeometry() size = self.geometry() self.move((screen.width() - size.width()) / 2, (screen.height() - size.height()) / 2) def startTetris(self): self.tetris.close() def createActions(self): self.penAct = QtGui.QAction(QtGui.QIcon(":/rc/icons/pencil_48.png"), self.tr("Pen"), self) self.penAct.setStatusTip(self.tr("Pen")) self.penAct.setCheckable(True) self.newAct = QtGui.QAction(QtGui.QIcon(":/images/new.png"), self.tr("&New"), self) self.newAct.setShortcut(QtGui.QKeySequence.New) self.newAct.setStatusTip(self.tr("Create a new file")) # self.newAct.triggered.connect(self.newFile) self.newAct.triggered.connect(self.startTetris) self.openAct = QtGui.QAction(QtGui.QIcon(":/images/open.png"), self.tr("&Open..."), self) self.openAct.setShortcut(QtGui.QKeySequence.Open) self.openAct.setStatusTip(self.tr("Open an existing file")) # self.openAct.triggered.connect(self.open) self.saveAct = QtGui.QAction(QtGui.QIcon(":/images/save.png"), self.tr("&Save"), self) self.saveAct.setShortcut(QtGui.QKeySequence.Save) self.saveAct.setStatusTip(self.tr("Save the document to disk")) # self.saveAct.triggered.connect(self.save) self.saveAsAct = QtGui.QAction(self.tr("Save &As..."), self) self.saveAsAct.setShortcut(QtGui.QKeySequence.SaveAs) self.saveAsAct.setStatusTip(self.tr("Save the document under a new name")) # self.saveAsAct.triggered.connect(self.saveAs) self.exitAct = QtGui.QAction(self.tr("E&xit"), self) self.exitAct.setShortcut(self.tr("Ctrl+Q")) self.exitAct.setStatusTip(self.tr("Exit the application")) self.exitAct.triggered.connect(self.close) self.cutAct = QtGui.QAction(QtGui.QIcon(":/images/cut.png"), self.tr("Cu&t"), self) self.cutAct.setShortcut(QtGui.QKeySequence.Cut) self.cutAct.setStatusTip(self.tr("Cut the current selection's " "contents to the clipboard")) # self.cutAct.triggered.connect(self.textEdit.cut) self.copyAct = QtGui.QAction(QtGui.QIcon(":/images/copy.png"), self.tr("&Copy"), self) self.copyAct.setShortcut(QtGui.QKeySequence.Copy) self.copyAct.setStatusTip(self.tr("Copy the current selection's " "contents to the clipboard")) # self.copyAct.triggered.connect(self.textEdit.copy) self.pasteAct = QtGui.QAction(QtGui.QIcon(":/images/paste.png"), self.tr("&Paste"), self) self.pasteAct.setShortcut(QtGui.QKeySequence.Paste) self.pasteAct.setStatusTip(self.tr("Paste the clipboard's contents " "into the current selection")) # self.pasteAct.triggered.connect(self.textEdit.paste) self.aboutAct = QtGui.QAction(self.tr("&About"), self) self.aboutAct.setStatusTip(self.tr("Show the application's About box")) # self.aboutAct.triggered.connect(self.about) self.aboutQtAct = QtGui.QAction(self.tr("About &Qt"), self) self.aboutQtAct.setStatusTip(self.tr("Show the Qt library's About box")) # self.aboutQtAct.triggered.connect(QtGui.qApp.aboutQt) self.cutAct.setEnabled(False) self.copyAct.setEnabled(False) # self.textEdit.copyAvailable.connect(self.cutAct.setEnabled) # self.textEdit.copyAvailable.connect(self.copyAct.setEnabled) def createStatusBar(self): self.statusBar().showMessage(self.tr("Ready")) def createToolBars(self): self.fileToolBar = self.addToolBar(self.tr("File")) self.fileToolBar.addAction(self.newAct) self.fileToolBar.addAction(self.openAct) self.fileToolBar.addAction(self.saveAct) self.editToolBar = self.addToolBar(self.tr("Edit")) self.editToolBar.addAction(self.cutAct) self.editToolBar.addAction(self.copyAct) self.editToolBar.addAction(self.pasteAct) def createMenus(self): self.fileMenu = self.menuBar().addMenu(self.tr("&File")) self.fileMenu.addAction(self.newAct) self.fileMenu.addAction(self.openAct) self.fileMenu.addAction(self.saveAct) self.fileMenu.addAction(self.saveAsAct) self.fileMenu.addSeparator(); self.fileMenu.addAction(self.exitAct) self.editMenu = self.menuBar().addMenu(self.tr("&Edit")) self.editMenu.addAction(self.cutAct) self.editMenu.addAction(self.copyAct) self.editMenu.addAction(self.pasteAct) self.menuBar().addSeparator() self.helpMenu = self.menuBar().addMenu(self.tr("&Help")) self.helpMenu.addAction(self.aboutAct) self.helpMenu.addAction(self.aboutQtAct)