def initImageLayout(self): imgx, imgy = self.scale self.texts = [] for i in range(2): text = ClickLabel(self, i, "None") text.setAlignment(Qt.AlignTop) text.setFixedSize(QSize(imgx, imgy)) self.texts.append(text) # for i, f in enumerate(self.functions): # text = ClickLabel(self, i + 3, "") # text.setAlignment(Qt.AlignTop) # text.setFixedSize(QSize(imgx, imgy)) # self.texts.append(text) text = ClickLabel(self, -1, "") text.setAlignment(Qt.AlignTop) text.setFixedSize(QSize(imgx, imgy)) self.texts.append(text) # self.newSet() texts = self.texts[:3] + self.texts[-1:] # row = config.imgRow row = 1 col = (len(texts) + row - 1) // row self.imageLayout = QHBoxLayout() self.imageLayout.addStretch(1) self.imageLayoutLeft = QVBoxLayout() self.imageLayoutLeft.setAlignment(Qt.AlignCenter) # self.imageLayoutLeft.addStretch() self.imageLayoutRight = QHBoxLayout() self.imageLayoutRight.addStretch() for i in range(row): rowLayout = QHBoxLayout() rowLayout.addStretch(1) for j in texts[i * col:(i + 1) * col]: rowLayout.addWidget(j) rowLayout.setAlignment(Qt.AlignCenter) rowLayout.addStretch() rowLayout.setContentsMargins(20, 20, 20, 20) self.imageLayoutRight.addLayout(rowLayout) bx, by = self.buttonScale temp = MySlider(self, 'ImageAlphaSlider', Qt.Vertical) self.setSlider(temp, 'ImageAlphaSlider') temp.setTickPosition(QSlider.TicksBothSides) lef, rig, typ = config.sliderConfig['ImageAlphaSlider'] temp.setSliderType(lef, rig, type=typ) temp.setFixedSize(QSize(100, 300)) # self.setSlider(temp, 'ImageAlphaSlider') temp_top = MyPushButton(self, config.getText('Top'), 'Top') temp_top.setFixedSize( QSize(bx, (by - config.defaultBlank * (1 - 1)) // 1)) temp_bottom = MyPushButton(self, config.getText('Bottom'), 'Bottom') temp_bottom.setFixedSize( QSize(bx, (by - config.defaultBlank * (1 - 1)) // 1)) self.imageLayoutLeft.addWidget(temp_top) self.imageLayoutLeft.addWidget(temp) self.imageLayoutLeft.addWidget(temp_bottom) self.imageLayout.addLayout(self.imageLayoutLeft) self.imageLayout.addLayout(self.imageLayoutRight)
def initToolLeftGridLayout(self): bx, by = self.buttonScale bC = self.buttonCol blankSize = self.blankSize self.toolLeftGridGroupBox = QGroupBox() layout = QGridLayout() # Foreground Background Unknown buttonGroup = MyButtonGroup(self, "Foreground&Background&Unknown") self.colorBox = QGroupBox() colorLayout = QVBoxLayout() foregroundRadio = MyColorButton(self, "Foreground") foregroundRadio.setIcon(QIcon("icon/icon_1.png")) foregroundRadio.setShortcut("1") colorLayout.addWidget(foregroundRadio) buttonGroup.addRadioButton(foregroundRadio, 0) backgroundRadio = MyColorButton(self, "Background") backgroundRadio.setIcon(QIcon("icon/icon_2.png")) backgroundRadio.setShortcut("2") colorLayout.addWidget(backgroundRadio) buttonGroup.addRadioButton(backgroundRadio, 1) unknownRadio = MyColorButton(self, "Unknown") unknownRadio.setIcon(QIcon("icon/icon_3.png")) unknownRadio.setShortcut("3") colorLayout.addWidget(unknownRadio) buttonGroup.addRadioButton(unknownRadio, 2) self.colorBox.setLayout(colorLayout) # ~~~~~ buttonGroup2 = MyButtonGroup(self, "Pen&Filler") self.colorBox2 = QGroupBox() colorLayout = QVBoxLayout() penRadio = MyToolButton(self, "画笔 (Q)") penRadio.setIcon(QIcon("icons/brush.png")) penRadio.setShortcut("q") colorLayout.addWidget(penRadio) buttonGroup2.addRadioButton(penRadio, 0) fillerRadio = MyToolButton(self, "填充 (W)") fillerRadio.setIcon(QIcon("icons/filler.png")) fillerRadio.setShortcut("w") colorLayout.addWidget(fillerRadio) buttonGroup2.addRadioButton(fillerRadio, 1) self.colorBox2.setLayout(colorLayout) # ~~~~~ # drawButtonGroup = MyButtonGroup(self, "Pen&Filler") # self.toolBox = QGroupBox() # colorLayout = QVBoxLayout() # penRadio = MyColorButton(self, "Pen") # foregroundRadio.setIcon(QIcon("icon/icon_1.png")) # colorLayout.addWidget(foregroundRadio) # buttonGroup.addRadioButton(foregroundRadio, 0) # fillerRadio = MyColorButton(self, "Filler") # backgroundRadio.setIcon(QIcon("icon/icon_2.png")) # colorLayout.addWidget(backgroundRadio) # buttonGroup.addRadioButton(backgroundRadio, 1) # pen penButton = MyPushButton(self, config.getText("Pen"), "Pen") penButton.setFixedSize(QSize(80, 40)) # pen slider penSlider = MySlider(self, "PenSlider", Qt.Horizontal) self.setSlider(penSlider, "PenSlider") penSlider.setTickPosition(QSlider.TicksBothSides) lef, rig, typ = config.sliderConfig["PenSlider"] penSlider.setSliderType(lef, rig, type=typ) penSlider.setFixedSize(QSize(bx * 3 + config.defaultBlank * 2, by)) self.setSlider(penSlider, "PenSlider") # filler fillerButton = MyPushButton(self, config.getText("Filler"), "Filler") fillerButton.setFixedSize(QSize(80, 40)) # filler slider fillerSlider = MySlider(self, "FillerSlider", Qt.Horizontal) self.setSlider(fillerSlider, "FillerSlider") fillerSlider.setTickPosition(QSlider.TicksBothSides) lef, rig, typ = config.sliderConfig["FillerSlider"] fillerSlider.setSliderType(lef, rig, type=typ) fillerSlider.setFixedSize(QSize(bx * 3 + config.defaultBlank * 2, by)) self.setSlider(fillerSlider, "FillerSlider") # clean trimap cleantrimapButton = MyPushButton(self, config.getText("SolveForeground"), "SolveForeground") cleantrimapButton.setIcon(QIcon("icons/clearscreen.png")) # cleanShortut = QShortcut(QKeySequence("Ctrl+C"), self) # cleanShortcut.activated.connect(self.clear) undoButton = MyPushButton(self, config.getText("Undo"), "Undo") undoButton.setIcon(QIcon("icons/undo.png")) # undoButton.setShortcut("Ctrl+Z") undoShortcut = QShortcut(QKeySequence("Ctrl+Z"), self) undoShortcut.activated.connect(self.undo) redoButton = MyPushButton(self, config.getText("Redo"), "Redo") redoButton.setIcon(QIcon("icons/redo.png")) # redoButton.setShortcut("Ctrl+Y") redoShortcut = QShortcut(QKeySequence("Ctrl+Y"), self) redoShortcut.activated.connect(self.redo) # cleantrimapButton.setFixedSize(QSize(80,40)) fileUnknownButton = MyPushButton(self, config.getText("FillUnknown"), "FillUnknown") unknownUpButton = MyPushButton(self, config.getText("UnknownUp"), "UnknownUp") unknownDownButton = MyPushButton(self, config.getText("UnknownDown"), "UnknownDown") # fileUnknownButton.setFixedSize(QSize(self.width(),40)) #fileUnknownButton.setFixedHeight(60) # unknownUpButton.setFixedHeight(40) # unknownUpButton.setFixedSize(QSize(self.width(),40)) runButton = MyPushButton(self, config.getText("Run"), "Run") # runShortcut = QShortcut(QKeySequence("Ctrl+R"), self) # runShortcut.activated.connect(self.run) runButton.setFixedHeight(60) runButton.setStyleSheet("QPushButton{color:white;font-size:18px;}" "QPushButton:hover{background-color:#05f}" "QPushButton{background-color:#477be4}" "QPushButton{border:2px}" "QPushButton{border-radius:10px}" "QPushButton{padding:2px 4px}") # runButton.setShortcut("Ctrl+R") penSlider.setStyleSheet("QSlider{padding:0px 0px}") layout.setSpacing(0) layout.addWidget(self.colorBox, 0, 0, 2, 1) layout.addWidget(self.colorBox2, 0, 1, 2, 1) # layout.addWidget(penButton, 0, 1) layout.addWidget(penSlider, 0, 2, 1, 4) # layout.addWidget(fillerButton, 1, 1) layout.addWidget(fillerSlider, 1, 2, 1, 4) layout.addWidget(cleantrimapButton, 2, 0) layout.addWidget(undoButton, 2, 1) layout.addWidget(redoButton, 2, 2) layout.addWidget(fileUnknownButton, 3, 0, 2, 1) layout.addWidget(unknownUpButton, 3, 1) layout.addWidget(unknownDownButton, 3, 2) layout.addWidget(runButton, 2, 4, 2, 2) self.toolLeftGridGroupBox.setLayout(layout)