Exemple #1
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        #        self.stackLayout = QStackedLayout()

        self.settings = QSettings('settings.ini', QSettings.IniFormat)

        self.vLayout = QVBoxLayout()
        self.toolBar = QToolBar('mainToolBar')
        self.addToolBar(Qt.RightToolBarArea, self.toolBar)
        self.centralWidget = QSplitter(Qt.Vertical)
        self.setCentralWidget(self.centralWidget)

        self.status = self.statusBar()

        self.colorWidgets = {}
        self.levelWidgets = {}

        self.cmbGS = QComboBox()
        self.cmbGS.addItems(self.listGSLevel)
        self.connect(self.cmbGS, SIGNAL("currentIndexChanged(int)"),
                     self.fillCmbGSLevel)
        self.gsLevel = self.levelGS[self.cmbGS.currentText()]

        self.xdpiCmbBox = QComboBox()
        self.xdpiCmbBox.addItems(['720', '600', '360', '300', '180', '150'])

        self.ydpiCmbBox = QComboBox()
        self.ydpiCmbBox.addItems(['360', '300', '180', '150', '90', '75'])

        self.table = QTableWidget(0, 4)
        self.connect(self.table, SIGNAL("cellClicked(int, int)"),
                     self.tableCellActivated)
        self.table.setHorizontalHeaderLabels(
            ['Filename', 'Color', 'GS Level', 'Size'])
        self._table = TableWidget(self.table, self.cmbGS, self.xdpiCmbBox,
                                  self.ydpiCmbBox)
        self.connect(self._table, SIGNAL("insertRowAfter(int)"), self.addFile)
        self.connect(self._table, SIGNAL("removeRowAt(int)"), self.removeFile)
        #        self._table.setAcceptDrops(True)
        self.table.setAcceptDrops(True)

        self.scene = QGraphicsScene()
        self.view = QGraphicsView(self.scene)

        self.scale = False
        self.chkBoxScale = QCheckBox("See the Whole")
        self.connect(self.chkBoxScale, SIGNAL("toggled(bool)"), self.setScale)

        self.centralWidget.addWidget(self._table)

        vbox = QVBoxLayout()
        vbox.addWidget(self.chkBoxScale)
        vbox.addWidget(self.view)
        widget = QWidget()
        widget.setLayout(vbox)
        self.centralWidget.addWidget(widget)
        #        self.centralWidget.addWidget(self.statusBar)

        savePrnAction = self.createAction('Create .prn', self.savePrnFile,
                                          QKeySequence.Save, 'save_as',
                                          'Create test file')
        self.toolBar.addAction(savePrnAction)

        unpackPrnAction = self.createAction('Unpack .prn', self.unpackPrnFile,
                                            QKeySequence.Open, 'analyze',
                                            'Unpack prn file')
        self.toolBar.addAction(unpackPrnAction)

        editHeaderAction = self.createAction(
            'Edit .prn', self.changeResolution,
            QKeySequence(Qt.CTRL + Qt.Key_E), 'edit',
            'Change print resolution in prn file')
        self.toolBar.addAction(editHeaderAction)

        self.pix = QPixmap()
        self.pix.convertFromImage(QImage())
        self.grPixmap = QGraphicsPixmapItem(self.pix)
        self.scene.addItem(self.grPixmap)
        #        self.view.scale(0.3, 0.3)

        self.setWindowTitle('PRN Creator {}'.format(self.ver))
        self.setWindowIcon(QIcon('icons/icon.png'))

        desktop = QApplication.desktop()
        rect = desktop.availableGeometry()
        pos = self.settings.value('window/pos', QPoint(0, 0))
        if pos.x() < rect.left():
            x = rect.left()
        else:
            x = pos.x()
        if pos.y() < rect.top():
            y = rect.top()
        else:
            y = pos.y()

        self.resize(self.settings.value('window/size', QSize(640, 480)))
        self.move(x, y)
        self.setWindowState(
            Qt.WindowState(int(self.settings.value('window/state', 0))))