# 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)