def paintEvent(self, event): """Drawing a rounded background help to identify that the widget is in standalone mode.""" painter = QtGui.QPainter() painter.begin(self) painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.setRenderHint(QtGui.QPainter.SmoothPixmapTransform) rect = QtCore.QRect(self.rect()) pen = QtGui.QPen(QtGui.QColor(35, 35, 35, 255)) pen.setWidth(1.0) painter.setPen(pen) painter.setBrush(common.SEPARATOR.darker(110)) if self._frameless is True: o = common.INDICATOR_WIDTH() rect = rect.marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.drawRoundedRect(rect, o * 3, o * 3) else: painter.drawRect(rect) if not self._initialized: font, metrics = common.font_db.primary_font( common.MEDIUM_FONT_SIZE()) rect = QtCore.QRect(self.rect()) align = QtCore.Qt.AlignCenter color = QtGui.QColor(255, 255, 255, 80) pixmaprect = QtCore.QRect(rect) center = pixmaprect.center() s = common.ASSET_ROW_HEIGHT() * 1.5 o = common.MARGIN() pixmaprect.setWidth(s) pixmaprect.setHeight(s) pixmaprect.moveCenter(center) painter.setBrush(QtGui.QColor(0, 0, 0, 20)) pen = QtGui.QPen(QtGui.QColor(0, 0, 0, 20)) painter.setPen(pen) painter.drawRoundedRect( pixmaprect.marginsAdded( QtCore.QMargins(o * 3, o * 3, o * 3, o * 3)), o, o) pixmap = images.ImageCache.get_rsc_pixmap(u'icon_bw', None, s) painter.setOpacity(0.5) painter.drawPixmap(pixmaprect, pixmap, pixmap.rect()) painter.setOpacity(1.0) rect.setTop(pixmaprect.bottom() + (o * 0.5)) rect.setHeight(metrics.height()) common.draw_aliased_text(painter, font, rect, self.init_progress, align, color) painter.end()
def __init__(self, parent: Optional[QtWidgets.QWidget] = None, flags: Qt.WindowFlags = Qt.Widget): """Initialise a new instance of the class.""" super().__init__(parent, flags) self.chart_view = QtCharts.QChartView() self.chart_view.setRenderHint(QtGui.QPainter.Antialiasing) chart: QtCharts.QChart = self.chart_view.chart() chart.legend().setLabelColor(QtGui.QColor("#F0F0F0")) chart.setAnimationDuration(500) chart.setAnimationEasingCurve(QtCore.QEasingCurve.Linear) chart.setAnimationOptions(QtCharts.QChart.NoAnimation) chart.setBackgroundBrush(QtGui.QColor("transparent")) chart.setBackgroundRoundness(0.0) chart.setContentsMargins(-7, -7, -7, -7) chart.setMargins(QtCore.QMargins(10, 0, 10, 10)) self.chart: QtCharts.QChart = chart layout = QtWidgets.QVBoxLayout() layout.setMargin(0) layout.addWidget(self.chart_view) self.setLayout(layout) x_axis = QtCharts.QValueAxis() x_axis.setRange(-CHART_DURATION, 0.0) y_axis = QtCharts.QValueAxis() self.chart.addAxis(x_axis, QtCore.Qt.AlignBottom) self.chart.addAxis(y_axis, QtCore.Qt.AlignLeft) self._style_axes() self._largest_y_value: float = 0.0 self._smallest_y_value: float = sys.float_info.max self.__x_axis_maximum: float = 0.0
def eventFilter(self, widget, event): """Using the custom event filter to paint the background.""" if event.type() == QtCore.QEvent.Paint: painter = QtGui.QPainter() painter.begin(self) font = common.font_db.secondary_font( common.size(common.FontSizeMedium))[0] painter.setFont(font) painter.setRenderHints(QtGui.QPainter.Antialiasing) o = common.size(common.WidthIndicator) rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.setBrush(QtGui.QColor(250, 250, 250, 255)) painter.setPen(QtCore.Qt.NoPen) painter.drawRoundedRect(rect, o * 2, o * 2) center = rect.center() rect.setWidth(rect.width() - common.size(common.WidthMargin)) rect.setHeight(rect.height() - common.size(common.WidthMargin)) rect.moveCenter(center) text = 'Click the plus icon on the top to add a note' text = text if not len(self.todoeditors_widget.items) else '' common.draw_aliased_text(painter, font, rect, text, QtCore.Qt.AlignCenter, common.color(common.BackgroundDarkColor)) painter.end() return False
def __init__(self): QtWidgets.QWidget.__init__(self) self.setWindowTitle("Button Window") self.setGeometry(300, 200, 200, 200) vbox = QtWidgets.QVBoxLayout(self) vbox.setContentsMargins(QtCore.QMargins(5, 5, 5, 5)) vbox.setSpacing(10) self.checkbox = QtWidgets.QCheckBox("CheckButton", self) self.checkbox.setObjectName("check") vbox.addWidget(self.checkbox) self.button = QtWidgets.QPushButton("OK", self) self.button.setObjectName("button") vbox.addWidget(self.button) self.button.clicked.connect(self.clicked) # self.resize(350, 200) buttongroup = QtWidgets.QButtonGroup() self.radiobutton1 = QtWidgets.QRadioButton("RadioButton1", self) self.radiobutton1.setObjectName("radio1") buttongroup.addButton(self.radiobutton1) vbox.addWidget(self.radiobutton1) self.radiobutton2 = QtWidgets.QRadioButton("RadioButton2", self) self.radiobutton2.setObjectName("radio2") buttongroup.addButton(self.radiobutton2) vbox.addWidget(self.radiobutton2) self.combo = QtWidgets.QComboBox(self) self.combo.setObjectName("combo") self.combo.addItem("Apple") self.combo.addItem("Banana") self.combo.addItem("Grapes") vbox.addWidget(self.combo) self.combo.activated[str].connect(self.activated) pass
def itemRemove(self) -> queryAndDelete: def remove(): item = lista.currentItem() valid = queryAndDelete(item.text()) msg = 'item removido dos registros' if valid: listed = queryAll() btCancel.setText('Concluído') lista.clear() for x in range(len(listed)): lista.insertItem(x, listed[x][1]) Message.sucess(self.topLev, 'removido', msg) frame = QtWidgets.QFrame(self.topLev) label = QtWidgets.QLabel('Todos os itens:') layout = QtWidgets.QGridLayout(frame) lista = QtWidgets.QListWidget() btRemove = QtWidgets.QPushButton('Remover') btCancel = QtWidgets.QPushButton('Cancelar') listed = queryAll() btRemove.clicked.connect(remove) btCancel.clicked.connect(lambda: frame.close()) frame.setStyleSheet(DEFAULT) frame.setStyleSheet('background: #000;') layout.setContentsMargins(QtCore.QMargins(0, 0, 0, 0)) layout.addWidget(label, 0, 0, 1, 2) layout.addWidget(lista, 1, 0, 1, 2) layout.addWidget(btRemove, 2, 0) layout.addWidget(btCancel, 2, 1) frame.resize(600, 400) for x in range(len(listed)): lista.insertItem(x, listed[x][1]) frame.show()
def eventFilter(self, widget, event): """Using the custom event filter to paint the background.""" if event.type() == QtCore.QEvent.Paint: painter = QtGui.QPainter() painter.begin(self) font = common.font_db.secondary_font( font_size=common.MEDIUM_FONT_SIZE())[0] painter.setFont(font) painter.setRenderHints(QtGui.QPainter.Antialiasing) o = common.INDICATOR_WIDTH() rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.setBrush(QtGui.QColor(250, 250, 250, 255)) painter.setPen(QtCore.Qt.NoPen) painter.drawRoundedRect(rect, o * 2, o * 2) center = rect.center() rect.setWidth(rect.width() - common.MARGIN()) rect.setHeight(rect.height() - common.MARGIN()) rect.moveCenter(center) text = u'Click the plus icon on the top to add a note' text = text if not len(self.todoeditors_widget.items) else u'' common.draw_aliased_text( painter, font, rect, text, QtCore.Qt.AlignCenter, common.SECONDARY_BACKGROUND) painter.end() return False
def mouseMoveEvent(self, event: QtGui.QMouseEvent) -> None: if self._pressed: option = QtWidgets.QStyleOptionSlider() self.initStyleOption(option) groove = self.style().subControlRect( QtWidgets.QStyle.CC_Slider, option, QtWidgets.QStyle.SC_SliderGroove, self, ) handle = self.style().subControlRect( QtWidgets.QStyle.CC_Slider, option, QtWidgets.QStyle.SC_SliderHandle, self, ) value = self.style().sliderValueFromPosition( self.minimum(), self.maximum(), event.pos().x(), groove.width() ) handle.moveCenter(event.pos()) handle = handle.marginsAdded( QtCore.QMargins( handle.width(), handle.width(), handle.width(), handle.width() ) ) if self.hasTracking(): self.setValue2(value) self.repaint(handle) else: super().mouseMoveEvent(event)
def _build_layout(horizontal): if (horizontal): layout = QtWidgets.QHBoxLayout() else: layout = QtWidgets.QVBoxLayout() layout.setContentsMargins(QtCore.QMargins(2, 2, 2, 2)) return layout
def mouseReleaseEvent(self, event: QtGui.QMouseEvent) -> None: if self._pressed: self._pressed = False option = QtWidgets.QStyleOptionSlider() self.initStyleOption(option) groove = self.style().subControlRect( QtWidgets.QStyle.CC_Slider, option, QtWidgets.QStyle.SC_SliderGroove, self, ) handle = self.style().subControlRect( QtWidgets.QStyle.CC_Slider, option, QtWidgets.QStyle.SC_SliderHandle, self, ) value = self.style().sliderValueFromPosition( self.minimum(), self.maximum(), event.pos().x(), groove.width() ) handle.moveCenter(event.pos()) handle = handle.marginsAdded( QtCore.QMargins( handle.width(), handle.width(), handle.width(), handle.width() ) ) value = self.style().sliderValueFromPosition( self.minimum(), self.maximum(), event.pos().x(), groove.width() ) self.setSliderDown(False) self.setValue2(value) self.update() super().mouseReleaseEvent(event)
def paintEvent(self, event): if not self.drop_target: return painter = QtGui.QPainter() painter.begin(self) painter.setRenderHint(QtGui.QPainter.Antialiasing, True) painter.setRenderHint(QtGui.QPainter.SmoothPixmapTransform, True) painter.setPen(QtCore.Qt.NoPen) painter.setBrush(common.color(common.SeparatorColor)) painter.drawRoundedRect(self.rect(), common.size(common.WidthIndicator), common.size(common.WidthIndicator)) pixmap = images.ImageCache.get_rsc_pixmap( 'slack', common.color(common.GreenColor), self.rect().height() - (common.size(common.WidthIndicator) * 1.5)) rect = QtCore.QRect(0, 0, common.size(common.WidthMargin), common.size(common.WidthMargin)) rect.moveCenter(self.rect().center()) painter.drawPixmap(rect, pixmap, pixmap.rect()) o = common.size(common.WidthIndicator) rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.setBrush(QtCore.Qt.NoBrush) pen = QtGui.QPen(common.color(common.GreenColor)) pen.setWidthF(common.size(common.HeightSeparator) * 2.0) painter.setPen(pen) painter.drawRoundedRect(rect, o, o) painter.end()
def update_editor(self): """Sets the editor widget's size, position and text contents.""" index = self.parent().selectionModel().currentIndex() if not index.isValid(): self.hide() return rect = self.parent().visualRect(index) rectangles = delegate.get_rectangles( rect, self.parent().inline_icons_count()) description_rect = self.parent().itemDelegate( ).get_description_rect(rectangles, index) # Won't be showing the editor if there's no appropiate description area # provided by the delegate (eg. the bookmark items don't have this) if not description_rect: self.hide() # Let's set the size based on the size provided by the delegate but # center it instead o = common.INDICATOR_WIDTH() * 2.0 rect = description_rect.marginsAdded(QtCore.QMargins(0, o, 0, o)) rect.moveCenter(rectangles[delegate.DataRect].center()) self.setGeometry(rect) # Set the text and select it self.setText(u'{}'.format(index.data(common.DescriptionRole))) self.selectAll()
def paintEvent(self, event): if not self._text: return painter = QtGui.QPainter() painter.begin(self) o = common.size(common.WidthMargin) o = 0 rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.setBrush(common.color(common.SeparatorColor)) painter.setPen(QtCore.Qt.NoPen) painter.setOpacity(0.5) painter.drawRoundedRect(rect, common.size(common.WidthIndicator), common.size(common.WidthIndicator)) painter.setOpacity(1.0) painter.setBrush(QtCore.Qt.NoBrush) painter.setPen(common.color(common.TextColor)) painter.setFont( common.font_db.primary_font(common.size(common.FontSizeMedium))[0]) painter.drawText(rect, QtCore.Qt.AlignCenter, self._text) painter.end()
def __init__(self, node, parent=None): #print 'AEMASH_ReproTemplate::__init__' super(AETN_Bind_InSourceTemplate, self).__init__(parent) self.objects_annotation = "Objects" #maya.mel.eval('getPluginResource("MASH_Repro", "kObjectsLabel")') self.display_annotation = "Display Mode" #maya.mel.eval('getPluginResource("MASH_Repro", "kDisplayLabel")') self.color_annotation = "Color" self.ratio_annotation = "Ratio" self.openCallback = om.MSceneMessage.addCallback( om.MSceneMessage.kAfterFileRead, sceneChanged) self.newCallback = om.MSceneMessage.addCallback( om.MSceneMessage.kAfterNew, sceneChanged) self.updating_UI = True self.node = node self.layout = QtWidgets.QVBoxLayout() self.layout.setContentsMargins(QtCore.QMargins(9, 0, 0, 0)) splitter = QtWidgets.QSplitter(QtCore.Qt.Vertical) #splitter.setStyleSheet("QSplitter::handle {image: url(%s); height: 20px;}" % MASH_REPRO_ICONS.get_icon_path("ae_MASH_ReproDrag_hor")) self.layout.addWidget(splitter) # build widget self.numColums = 4 self.objs_widget = ObjectsWidget() self.objs_widget.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.objs_widget.setColumnCount(self.numColums) self.objs_widget.set_node(node) self.font1 = QtGui.QFont() self.font1.setPointSize(9) # add proxy name self.objs_widget.headerItem().setFont(0, self.font1) self.objs_widget.headerItem().setText(0, self.objects_annotation) # add display mode self.objs_widget.headerItem().setFont(1, self.font1) self.objs_widget.headerItem().setText(1, self.display_annotation) # add color self.objs_widget.headerItem().setFont(2, self.font1) self.objs_widget.headerItem().setText(2, self.color_annotation) # add ratio self.objs_widget.headerItem().setFont(3, self.font1) self.objs_widget.headerItem().setText(3, self.ratio_annotation) self.objs_widget.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.objs_widget.setStyleSheet(self.TREE_STYLE_SHEET) splitter.addWidget(self.objs_widget) self.setLayout(self.layout) self.update_ui() self.objs_widget.obj_dropped.connect(self.update_ui) self.objs_widget.obj_selected.connect(self.update_proxies) self.updating_UI = False self.setObjectName("AETN_Environment_InSourceTemplate")
def paintEvent(self, event): if not self.drop_target: return painter = QtGui.QPainter() painter.begin(self) painter.setRenderHint(QtGui.QPainter.Antialiasing, True) painter.setRenderHint(QtGui.QPainter.SmoothPixmapTransform, True) painter.setPen(QtCore.Qt.NoPen) painter.setBrush(common.SEPARATOR) painter.drawRoundedRect( self.rect(), common.INDICATOR_WIDTH(), common.INDICATOR_WIDTH()) pixmap = images.ImageCache.get_rsc_pixmap( u'slack', common.ADD, self.rect().height() - (common.INDICATOR_WIDTH() * 1.5)) rect = pixmap.rect() rect.moveCenter(self.rect().center()) painter.drawPixmap(rect, pixmap, pixmap.rect()) o = common.INDICATOR_WIDTH() rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.setBrush(QtCore.Qt.NoBrush) pen = QtGui.QPen(common.ADD) pen.setWidthF(common.ROW_SEPARATOR() * 2.0) painter.setPen(pen) painter.drawRoundedRect(rect, o, o) painter.end()
def _paint_loading(self, painter): font, metrics = common.font_db.primary_font( common.size(common.FontSizeMedium)) rect = QtCore.QRect(self.rect()) align = QtCore.Qt.AlignCenter color = QtGui.QColor(255, 255, 255, 80) pixmaprect = QtCore.QRect(rect) center = pixmaprect.center() s = common.size(common.HeightAsset) * 1.5 o = common.size(common.WidthMargin) pixmaprect.setWidth(s) pixmaprect.setHeight(s) pixmaprect.moveCenter(center) painter.setBrush(QtGui.QColor(0, 0, 0, 20)) pen = QtGui.QPen(QtGui.QColor(0, 0, 0, 20)) painter.setPen(pen) painter.drawRoundedRect( pixmaprect.marginsAdded( QtCore.QMargins(o * 3, o * 3, o * 3, o * 3)), o, o) pixmap = images.ImageCache.get_rsc_pixmap( 'icon_bw', None, s) painter.setOpacity(0.5) painter.drawPixmap(pixmaprect, pixmap, pixmap.rect()) painter.setOpacity(1.0) rect.setTop(pixmaprect.bottom() + (o * 0.5)) rect.setHeight(metrics.height()) common.draw_aliased_text( painter, font, rect, 'Loading...', align, color)
def __init__(self, label, *args, **kwargs): super(RetroBox, self).__init__(*args, **kwargs) self.setContentsMargins(QtCore.QMargins(0, 0, 0, 0)) self.layout = QVBoxLayout() #|------------------------------| #| [Label Text] [Add-Button] | #| |--------------------------| | #| ||------------------------|| | #| || [Retro Tile] || | #| ||------------------------|| | #| | | | #| | | | #| |--------------------------| | #|------------------------------| # Header has Label and Add Button # self.header = QHBoxLayout() self.label = QLabel(label) self.add_button = QPushButton("+") self.add_button.setEnabled(False) # End Header # # Scroll Area # self.tile_list = TileList() self.scroll_area = QScrollArea(self) self.scroll_area.setFixedSize(500, 200) self.scroll_area.setWidget(self.tile_list) self.scroll_area.setWidgetResizable(True) # Tile Panel # self.tile_panel = QVBoxLayout() self.retro_tiles_list = list() # End Tile Panel components # self._setup()
def paintEvent(self, event): painter = QtGui.QPainter() painter.begin(self) painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.setBrush(QtCore.Qt.NoBrush) color = common.REMOVE if settings.local_settings.current_mode( ) else common.ADD pen = QtGui.QPen(color) o = common.INDICATOR_WIDTH() * 1.5 pen.setWidth(common.INDICATOR_WIDTH() * 0.66) painter.setPen(pen) painter.setOpacity(self.animation.currentValue()) rect = QtCore.QRect(self.rect()) rect = rect.marginsRemoved(QtCore.QMargins(o, o, o, o)) center = self.rect().center() size = QtCore.QSize(rect.width() - (o), rect.height() - (o)) rect.setSize(size * self.animation.currentValue()) rect.moveCenter(center) c = rect.height() / 2.0 painter.drawRoundedRect(rect, c, c) painter.end()
def eventFilter(self, widget, event): if widget is not self: return False if event.type() is QtCore.QEvent.Paint: if self.model().rowCount(): return False painter = QtGui.QPainter() painter.begin(self) painter.setBrush(common.color(common.BackgroundDarkColor)) painter.setPen(QtCore.Qt.NoPen) painter.setFont( common.font_db.secondary_font(common.size(common.FontSizeSmall))[0]) painter.drawRect(self.rect()) o = common.size(common.FontSizeMedium) rect = self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)) painter.drawText( rect, QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter | QtCore.Qt.TextWordWrap, 'Template preview', boundingRect=self.rect(), ) painter.end() return True return False
def material_plot(self): # Load material data Mat = self.get_material() # generate plot series seriesC = QtCharts.QtCharts.QLineSeries() seriesR = QtCharts.QtCharts.QLineSeries() for strain in np.linspace(-0.0035, 0.003, num=200): seriesC.append(strain, Mat.concreteStress(strain)) seriesR.append(strain, Mat.reinforcementStress(strain)) # Setup concrete chart area self.chartC = QtCharts.QtCharts.QChart() self.chartC.addSeries(seriesC) self.chartC.createDefaultAxes() # self.chartC.axes(orientation=QtCore.Qt.Horizontal) # self.chartC.addAxis(QtCharts.QtCharts.QAbstractAxis, QtCore.Qt.Horizontal) self.chartC.setTitle('Concrete') self.chartC.legend().hide() self.chartC.setMargins(QtCore.QMargins(0, 0, 0, 0)) self.chartC.setGeometry(self.graphicsViewConcrete.frameRect()) self.chartC.setBackgroundRoundness(0) # Setup reinforcement chart area self.chartR = QtCharts.QtCharts.QChart() self.chartR.addSeries(seriesR) self.chartR.createDefaultAxes() self.chartR.setTitle('Reinforcement') self.chartR.legend().hide() self.chartR.setMargins(QtCore.QMargins(0, 0, 0, 0)) self.chartR.setGeometry(self.graphicsViewReinforcement.frameRect()) self.chartR.setBackgroundRoundness(0) # Setup view viewC = self.graphicsViewConcrete # define view from gui widget viewR = self.graphicsViewReinforcement # define view from gui widget chartViewC = QtCharts.QtCharts.QChartView( self.chartC, viewC) # graphicsView -> chartView chartViewR = QtCharts.QtCharts.QChartView( self.chartR, viewR) # graphicsView -> chartView chartViewC.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.white)) chartViewR.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.white)) chartViewC.setRenderHint(QtGui.QPainter.Antialiasing) chartViewR.setRenderHint(QtGui.QPainter.Antialiasing) chartViewC.show() # cannot get the chart to fit without this chartViewR.show() # cannot get the chart to fit without this
def zoomIn(self, percent): """ Zooms the view in by a given percent. Percentage on scale of 0 to 1. """ viewBBox = self.viewBoundingBox() margin = int(viewBBox.width() * percent) smallerRect = viewBBox.marginsRemoved( QtCore.QMargins(margin, margin, margin, margin)) self.zoomTo(smallerRect)
def zoomOut(self, percent): """ Zooms the view out by a given percent Percentage on scale of 0 to 1 """ viewBBox = self.viewBoundingBox() margin = int(viewBBox.width() * percent) largerRect = viewBBox.marginsAdded( QtCore.QMargins(margin, margin, margin, margin)) self.zoomTo(largerRect)
def __init__(self, webapp): super().__init__() self.webapp = webapp self.view = QtWebEngineWidgets.QWebEngineView() self.view.load(QtCore.QUrl(self.webapp.url)) self.layout = QtWidgets.QVBoxLayout(self) self.layout.addWidget(self.view) self.layout.setContentsMargins(QtCore.QMargins(0, 0, 0, 0)) self.setWindowTitle(self.webapp.title) self.view.iconChanged.connect(self.iconChangedListener)
def _build_save_frame(self): # Set variables for size adjustment prof_size = QtCore.QSize(10, 10) mod_size = QtCore.QSize(20, 20) layout_margin = QtCore.QMargins(5, 0, 15, 0) self.font.setPointSize(10) # Set up frame for stat save_frame = QtWidgets.QFrame() save_frame.setFrameShape(QtWidgets.QFrame.StyledPanel) save_frame.setFrameShadow(QtWidgets.QFrame.Raised) save_frame.setObjectName("saveFrame") self.main_layout.addWidget(save_frame) # Setting layout that frame uses save_frame_h_layout = QtWidgets.QHBoxLayout(save_frame) save_frame_h_layout.setObjectName("saveFrameVLayout") save_frame_h_layout.setContentsMargins(layout_margin) # Set prof/expert line edit including adding to layout self.prof_line_edit = QtWidgets.QLineEdit(self) self.prof_line_edit.setFont(self.font) self.prof_line_edit.setMaxLength(2) self.prof_line_edit.setAlignment(QtCore.Qt.AlignCenter) self.prof_line_edit.setMinimumSize(prof_size) self.prof_line_edit.setMaximumSize(prof_size) self.prof_line_edit.setObjectName("saveProfLineEdit") self.prof_line_edit.setReadOnly(True) save_frame_h_layout.addWidget(self.prof_line_edit) # Set up spacer to offset the expertise line edit from the skills class. # This way everything lines up spacer = QtWidgets.QSpacerItem(prof_size.height(), prof_size.width()) save_frame_h_layout.addSpacerItem(spacer) # Set up label including adding to layout label = QtWidgets.QLabel(self) label.setText('Save') label.setLayoutDirection(QtCore.Qt.LeftToRight) label.setAlignment(QtCore.Qt.AlignCenter) label.setObjectName("label") save_frame_h_layout.addWidget(label) # Set up modifier line edit including adding to layout self.save_mod_line_edit = QtWidgets.QLineEdit(self) self.save_mod_line_edit.setFont(self.font) self.save_mod_line_edit.setMaxLength(2) self.save_mod_line_edit.setAlignment(QtCore.Qt.AlignCenter) self.save_mod_line_edit.setMinimumSize(mod_size) self.save_mod_line_edit.setMaximumSize(mod_size) self.save_mod_line_edit.setObjectName("modLineEdit") self.save_mod_line_edit.setReadOnly(True) save_frame_h_layout.addWidget(self.save_mod_line_edit)
def paintEvent(self, event): painter = QtGui.QPainter() painter.begin(self) painter.setBrush(common.color(common.SeparatorColor)) pen = QtGui.QPen(QtGui.QColor(0, 0, 0, 150)) pen.setWidth(common.size(common.HeightSeparator)) painter.setPen(pen) painter.setRenderHint(QtGui.QPainter.Antialiasing) o = common.size(common.WidthIndicator) * 2.0 painter.drawRoundedRect( self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)), o, o) painter.end()
def create_layouts(self): self.lyt_main = QtWidgets.QHBoxLayout(self.main_widget) self.lyt_main.setMargin(0) self.lyt_left_top_icons = QtWidgets.QHBoxLayout(self.widget_left_icons) self.lyt_left_top_icons.setContentsMargins(QtCore.QMargins(4, 4, 4, 4)) self.lyt_lFrame = QtWidgets.QVBoxLayout(self.frm_left) self.lyt_lFrame.setSpacing(0) self.lyt_rightSide = QtWidgets.QGridLayout(self.widget_rightSide) self.lyt_rightSide.setContentsMargins(QtCore.QMargins(0, 0, 0, 0)) self.lyt_rightSide.setSpacing(0) self.lyt_frm_exprt_option = QtWidgets.QVBoxLayout( self.frm_exprt_option) self.lyt_frm_exprt_option.setContentsMargins( QtCore.QMargins(0, 0, 0, 0)) self.lyt_rFrame_top = QtWidgets.QVBoxLayout(self.frm_right_targetcs) self.lyt_exportOpt_grid = QtWidgets.QGridLayout() self.lyt_exportOpt_grid.setContentsMargins( QtCore.QMargins(15, 25, 15, 25)) self.lyt_exportOpt_grid.setVerticalSpacing(0) self.lyt_exportOpt_grid.setRowMinimumHeight(3, 15) # Compress row self.lyt_exportOpt_grid.setRowMinimumHeight(6, 15) # Location row self.lyt_exprt_folder = QtWidgets.QHBoxLayout() self.lyt_exprt_folder.setSpacing(6) self.lyt_exprt_folder.setContentsMargins(QtCore.QMargins(0, 9, 9, 0)) # self.lyt_exportOpt_grid.setRowMinimumHeight(8, 15) # Location row self.lyt_in_grid = QtWidgets.QGridLayout(self.frm_right_input) self.lyt_in_grid.setContentsMargins(QtCore.QMargins(9, 9, 9, 9))
def paintEvent(self, event): painter = QtGui.QPainter() painter.begin(self) font, metrics = common.font_db.secondary_font(common.SMALL_FONT_SIZE()) common.draw_aliased_text( painter, font, self.rect().marginsRemoved( QtCore.QMargins(common.INDICATOR_WIDTH(), 0, common.INDICATOR_WIDTH(), 0)), u' {} '.format(self.currentMessage()), QtCore.Qt.AlignVCenter | QtCore.Qt.AlignLeft, common.TEXT) painter.end()
def containedPoints(self, boundingBoxPadding=2)->list[QtCore.QPointF]: """return bounding box corners of all items contained in field""" points = list() margins = QtCore.QMargins( boundingBoxPadding, boundingBoxPadding, boundingBoxPadding, boundingBoxPadding ) for item in self.itemsToContain: r = item.sceneBoundingRect() r = r.marginsAdded(margins) points.append(r.topLeft()) points.append(r.topRight()) points.append(r.bottomRight()) points.append(r.bottomLeft()) return points
def paintEvent(self, event): painter = QtGui.QPainter() painter.begin(self) pen = QtGui.QPen(common.SEPARATOR) pen.setWidthF(common.ROW_SEPARATOR()) painter.setPen(pen) painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.setBrush(common.BACKGROUND) o = common.MARGIN() * 0.3 painter.setOpacity(0.95) painter.drawRoundedRect( self.rect().marginsRemoved(QtCore.QMargins(o, o, o, o)), common.INDICATOR_WIDTH(), common.INDICATOR_WIDTH()) painter.end()
def __init__(self, layout_type): super(Widget, self).__init__() self.setGeometry(QtCore.QRect(0, 0, 0, 0)) # Run an if statement to check if layout should be vertical. # Defaults to horizontal if layout_type == 'V': self.layout = QtWidgets.QVBoxLayout(self) else: self.layout = QtWidgets.QHBoxLayout(self) self.layout.setSpacing(1) self.layout.setContentsMargins(QtCore.QMargins(1, 1, 1, 1)) self.layout.setObjectName("Layout")
def paintEvent(self, event): painter = QtGui.QPainter() painter.begin(self) font, _ = common.font_db.secondary_font( common.size(common.FontSizeSmall)) common.draw_aliased_text( painter, font, self.rect().marginsRemoved( QtCore.QMargins(common.size(common.WidthIndicator), 0, common.size(common.WidthIndicator), 0)), ' {} '.format(self.currentMessage()), QtCore.Qt.AlignVCenter | QtCore.Qt.AlignLeft, common.color(common.TextColor)) painter.end()