def highlight_last(self): """ colourize the up button and blur the down """ self._lastButton.setGraphicsEffect(qw.QGraphicsColorizeEffect()) self._firstButton.setGraphicsEffect(qw.QGraphicsBlurEffect()) self._highlight_first = False
def __init__(self, parent): super().__init__(parent) effect = QtWidgets.QGraphicsColorizeEffect(self) self.setGraphicsEffect(effect) self.color = ((0, 0, 0), (255, 255, 255)) self.color_selected = 0 self.anim = QtCore.QPropertyAnimation(effect, b"color") self.anim.setDuration(300)
def __init__(self, *args, **kwargs): super(Drumpad, self).__init__(*args, **kwargs) effect = QtWidgets.QGraphicsColorizeEffect(self) self.setGraphicsEffect(effect) self.animation = QtCore.QPropertyAnimation(effect, b"color") self.animation.setStartValue(QtGui.QColor(QtCore.Qt.cyan)) self.animation.setEndValue(QtGui.QColor(255, 255, 255)) self.animation.setLoopCount(1) self.animation.setDuration(200)
def __init__(self, *args, **kwargs): super(BeautifulButton, self).__init__(*args, **kwargs) effect = QtWidgets.QGraphicsColorizeEffect(self) self.setGraphicsEffect(effect) self.animation = QtCore.QPropertyAnimation(effect, b"color") self.animation.setStartValue(QtGui.QColor(QtCore.Qt.cyan)) self.animation.setEndValue(QtGui.QColor(255,0,0)) self.animation.setLoopCount(5) self.animation.setDuration(5000)
def animategroup(self, widgets, color): self.changeanimationgroup = QParallelAnimationGroup() for widget in widgets: effect = QtWidgets.QGraphicsColorizeEffect(widget) widget.setGraphicsEffect(effect) anim = QtCore.QPropertyAnimation(effect, b"color") anim.setDuration(500) anim.setStartValue(QtGui.QColor(0, 0, 0)) anim.setKeyValueAt(0.25, color) anim.setEndValue(QtGui.QColor(0, 0, 0)) self.changeanimationgroup.addAnimation(anim) self.changeanimationgroup.start()
def setupScene(self): parent = self.m_scene.addRect(0, 0, 800, 600) parent.setPen(QtGui.QPen(QtCore.Qt.NoPen)) parent.setZValue(0) bg = self.m_scene.addPixmap(QtGui.QPixmap(":/background.jpg")) bg.setParentItem(parent) bg.setZValue(1) for i in range(5): for j in range(2, 5): item = self.m_scene.addRect(i * 50, (j - 1) * 50, 38, 38) item.setParentItem(parent) item.setZValue(1) hue = 12 * (i * 5 + j) item.setBrush(QtGui.QColor.fromHsv(hue, 128, 128)) font = QtGui.QFont() font.setPointSize(font.pointSize() * 2) font.setBold(True) fontMetrics = QtGui.QFontMetrics(font) fh = fontMetrics.height() sceneText = "Qt Everywhere!" sceneTextWidth = fontMetrics.horizontalAdvance(sceneText) block = self.m_scene.addRect(50, 300, sceneTextWidth, fh + 3) block.setPen(QtGui.QPen(QtCore.Qt.NoPen)) block.setBrush(QtGui.QColor(102, 152, 51)) text = self.m_scene.addText(sceneText, font) text.setDefaultTextColor(QtCore.Qt.white) text.setPos(50, 300) block.setZValue(2) block.hide() text.setParentItem(block) self.m_message = block self.m_effect = QtWidgets.QGraphicsColorizeEffect() self.m_effect.setColor(QtGui.QColor(122, 193, 66)) self.m_effect.setStrength(0) self.m_effect.setEnabled(True) parent.setGraphicsEffect(self.m_effect) press = QtWidgets.QPushButton() press.setText(self.tr("Press me")) press.clicked.connect(self.togglePopup) self.m_scene.addWidget(press) press.move(300, 500)
def update_image(self): self.counter = self.counter + 1 self.ui.cnt.setText(str(self.counter)) effect = QtWidgets.QGraphicsColorizeEffect(self.ui.image_stack) effect.setStrength(0.0) self.ui.image_stack.setGraphicsEffect(effect) pixmap_tiff = QtGui.QPixmap( os.path.expanduser(self.ui.tWork.text() + "/" + "stack_image.tiff")) if pixmap_tiff.isNull(): print("Image non valide !") pixmap_tiff_resize = pixmap_tiff.scaled( self.ui.image_stack.frameGeometry().width(), self.ui.image_stack.frameGeometry().height(), QtCore.Qt.KeepAspectRatio) self.ui.image_stack.setPixmap(pixmap_tiff_resize)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.rhost = RenderHost() self.rhost.outputSignal.connect(self.onOutput) # Make frameless & add drop shadow self.setWindowTitle("Scene Editor") self.setWindowFlags(qtc.Qt.FramelessWindowHint) set_frameless_attrs(self, self.ui.drop_shadow_frame) self.setAttribute(qtc.Qt.WA_TranslucentBackground) # Initialize Blur Effect self.blur = qtw.QGraphicsBlurEffect(self) self.blur.setBlurRadius(7) self.blur.setBlurHints(qtw.QGraphicsBlurEffect.QualityHint) self.ui.centralwidget.setGraphicsEffect(self.blur) self.blur.setEnabled(False) # Initialize Colorize Effect self.colorize = qtw.QGraphicsColorizeEffect(self) self.colorize.setColor(QColor(0, 0, 0)) self.colorize2 = qtw.QGraphicsColorizeEffect(self) self.colorize2.setColor(QColor(0, 0, 0)) self.colorize3 = qtw.QGraphicsColorizeEffect(self) self.colorize3.setColor(QColor(0, 0, 0)) self.ui.title_bar.setGraphicsEffect(self.colorize) self.ui.credits_bar.setGraphicsEffect(self.colorize2) self.ui.content_bar.setGraphicsEffect(self.colorize3) self.colorize.setEnabled(False) self.colorize2.setEnabled(False) self.colorize3.setEnabled(False) # Initialize Settings self.settings = QWidget() self.settings.setWindowTitle("Settings") self.settings.ui = Ui_Settings() self.settings.ui.setupUi(self.settings) self.settings.ui.exitSettingsBtn.clicked.connect(self.exitsettings) set_frameless_attrs(self.settings, self.settings.ui.drop_shadow_frame) # Drag function bindings self.ui.title_bar.mouseMoveEvent = self.moveWindow self.ui.title_bar.mousePressEvent = self.setDragPos self.ui.label_title.mouseMoveEvent = self.moveWindow self.ui.label_title.mousePressEvent = self.setDragPos # Color Preview self.ui.difx.textChanged.connect(self.updateVis) self.ui.dify.textChanged.connect(self.updateVis) self.ui.difz.textChanged.connect(self.updateVis) self.ui.specx.textChanged.connect(self.updateVis) self.ui.specy.textChanged.connect(self.updateVis) self.ui.specz.textChanged.connect(self.updateVis) self.ui.emisx.textChanged.connect(self.updateVis) self.ui.emisy.textChanged.connect(self.updateVis) self.ui.emisz.textChanged.connect(self.updateVis) # Color Picking self.ui.diffusevis.clicked.connect(lambda: self.pick_color("diffuse")) self.ui.specularvis.clicked.connect( lambda: self.pick_color("specular")) self.ui.emissionvis.clicked.connect( lambda: self.pick_color("emission")) # Connect Buttons to Functions self.ui.btn_close.clicked.connect(self.exit) self.ui.btn_minimize.clicked.connect(self.showMinimized) self.ui.addobj.clicked.connect(self.addobj) self.ui.delobj.clicked.connect(self.delobj) self.ui.applyobj.clicked.connect(self.applyobj) self.ui.clearobj.clicked.connect(self.clearobj) self.ui.obj_list.itemClicked.connect(self.loadobj) self.ui.addmat.clicked.connect(self.addmat) self.ui.delmat.clicked.connect(self.delmat) self.ui.applymat.clicked.connect(self.applymat) self.ui.clearmat.clicked.connect(self.clearmat) self.ui.mat_list.itemClicked.connect(self.loadmat) self.ui.diffusemap.clicked.connect(self.loadDiffuse) self.ui.specularmap.clicked.connect(self.loadSpecular) self.ui.normalmap.clicked.connect(self.loadNormal) self.ui.openbtn.clicked.connect(self.openScene) self.ui.savebtn.clicked.connect(self.saveScene) self.ui.renderbtn.clicked.connect(self.renderScene) self.ui.settingsbtn.clicked.connect(self.opensettings) # Select first input self.ui.objname.setFocus(True) #Data Variables self.scenepath = None self.savetoexit = True self.rrtloc = '"D:/Files/Code/Ruby Raytracer/rrt_render.rb"' self.rrtloc = '"D:/Files/Code/repos/ruby-raytracer/rrt_render.exe"' #self.rrtloc = '"C:/Users/Avaze/Desktop/rrt_render.exe"' self.DEFAULTMAT = { "name": "default", "difx": 200, "dify": 200, "difz": 200, "specx": 255, "specy": 255, "specz": 255, "reflectivity": 0, "emisx": 0, "emisy": 0, "emisz": 0, "diftex": None, "spectex": None, "normaltex": None, "normalstrength": 1 } self.diffuse = None self.specular = None self.normal = None self.lastobjindex = None self.lastmatindex = None self.objects = [] self.materials = [self.DEFAULTMAT] self.vis_materials()