def __init__(self, *args, **kwargs): super(BetterButtons, self).__init__(*args, **kwargs) # Setup axes reset button self.resetAxesBtn = QPushButton("Reset Axes") sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.resetAxesBtn.sizePolicy().hasHeightForWidth()) self.resetAxesBtn.setSizePolicy(sizePolicy) self.resetAxesBtn.setObjectName("resetAxes") self.ui.gridLayout.addWidget(self.resetAxesBtn, 2, 1, 1, 1) self.resetAxesBtn.clicked.connect(self.autoRange) # Setup LUT reset button self.resetLUTBtn = QPushButton("Reset LUT") sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.resetLUTBtn.sizePolicy().hasHeightForWidth()) # self.resetLUTBtn.setSizePolicy(sizePolicy) # self.resetLUTBtn.setObjectName("resetLUTBtn") self.ui.gridLayout.addWidget(self.resetLUTBtn, 2, 2, 1, 1) self.resetLUTBtn.clicked.connect(self.autoLevels) # Hide ROI button and rearrange self.ui.roiBtn.setParent(None) self.ui.menuBtn.setParent(None) # self.ui.gridLayout.addWidget(self.ui.menuBtn, 1, 1, 1, 1) self.ui.gridLayout.addWidget(self.ui.graphicsView, 0, 0, 2, 1)
def __init__(self, *args, **kwargs): # Composes a new type consisting of any ImageItem types in imageItem_bases with this classes's helper ImageItem # class (LogScaleImageItem) self.imageItem_bases += (LogScaleImageItem, ) imageItem = type("DynamicImageItem", tuple(self.imageItem_bases), {})() if "imageItem" in kwargs: del kwargs["imageItem"] super(LogScaleIntensity, self).__init__(imageItem=imageItem, *args, **kwargs) self.logScale = True # Setup log scale button self.logIntensityButton = QPushButton("Log Intensity") sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.logIntensityButton.sizePolicy().hasHeightForWidth()) self.logIntensityButton.setSizePolicy(sizePolicy) self.logIntensityButton.setObjectName("logIntensity") self.ui.gridLayout.addWidget(self.logIntensityButton, 3, 2, 1, 1) self.logIntensityButton.setCheckable(True) self.setLogScale(True) self.logIntensityButton.clicked.connect(self._setLogScale)
def __init__(self, data=None, axis=0, parent=None, **kwargs): super(VolumeView, self).__init__(parent, **kwargs) self.parent = parent self.data = data if axis == -1: axis = 2 if 0 <= axis <= 2: self.axis = axis else: raise IndexError("Index out of range.") # initialize variables self.numberOfSlices = 1 self.currentSlice = 0 # create single view self.sliceView = SliceView(parent=self) # layout self.layout = QVBoxLayout(self) self.layout.addWidget(self.sliceView) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHeightForWidth(True) self.setSizePolicy(sizePolicy) if self.data is not None: self.setData(self.data)
def __init__(self, *args, **kwargs): super(BetterButtons, self).__init__(*args, **kwargs) # Setup axes reset button self.resetAxesBtn = QPushButton("Reset Axes") sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.resetAxesBtn.sizePolicy().hasHeightForWidth()) self.resetAxesBtn.setSizePolicy(sizePolicy) self.resetAxesBtn.setObjectName("resetAxes") self.ui.right_layout.addWidget(self.resetAxesBtn) self.resetAxesBtn.clicked.connect(self.autoRange) # Setup LUT reset button self.resetLUTBtn = QPushButton("Reset LUT") sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.resetLUTBtn.sizePolicy().hasHeightForWidth()) # self.resetLUTBtn.setSizePolicy(sizePolicy) # self.resetLUTBtn.setObjectName("resetLUTBtn") self.ui.right_layout.addWidget(self.resetLUTBtn) self.resetLUTBtn.clicked.connect(self.autoLevels)
def __init__(self, data=None, imshow_args=None, parent=None, **kwargs): super(SliceView, self).__init__(parent, **kwargs) self.parent = parent self.data = data self.imshow_args = {} if imshow_args is None else imshow_args # make display available self.figure = Figure(facecolor="black") self.__canvas = FigureCanvas(self.figure) self.__imshowAccessor = None # layout self.layout = QVBoxLayout(self) self.layout.addWidget(self.__canvas) self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setSpacing(0) self.setDisabled(True) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHeightForWidth(True) self.setSizePolicy(sizePolicy) # prepare figure self.axes = self.figure.add_subplot(111) self.figure.subplots_adjust(left=0, right=1, top=1, bottom=0) self.axes.axis("Off") # plot if we can if self.data is not None: self.setData(self.data)
def __init__(self, *args, **kwargs): if kwargs.get("imageItem") and not isinstance(kwargs.get("imageItem"), LogScaleImageItem): raise RuntimeError( "The imageItem set to a LogScaleIntensity ImageView must be a LogScaleImageItem." ) kwargs["imageItem"] = LogScaleImageItem() super(LogScaleIntensity, self).__init__(*args, **kwargs) self.logScale = True # Setup log scale button self.logIntensityButton = QPushButton("Log Intensity") sizePolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.logIntensityButton.sizePolicy().hasHeightForWidth()) self.logIntensityButton.setSizePolicy(sizePolicy) self.logIntensityButton.setObjectName("logIntensity") self.ui.gridLayout.addWidget(self.logIntensityButton, 3, 2, 1, 1) self.logIntensityButton.setCheckable(True) self.setLogScale(True) self.logIntensityButton.clicked.connect(self._setLogScale)
def __init__(self, parent): super(TitlebarDarwinButton, self).__init__(parent) self.setIconSize(QSize(15, 15)) self.setMinimumSize(QSize(15, 15)) self.setAutoFillBackground(True) self.setMouseTracking(True) sizepolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizepolicy.setHorizontalStretch(0) sizepolicy.setVerticalStretch(0) sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizepolicy)
def __init__(self, *args, **kwargs): super(ExportButton, self).__init__(*args, **kwargs) # Export button self.exportBtn = QPushButton('Export') sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.exportBtn.sizePolicy().hasHeightForWidth()) self.ui.right_layout.addWidget(self.exportBtn) self.exportBtn.clicked.connect(self.export)
def __init__(self, parent): super(ButtonsWidget, self).__init__(parent) self.setObjectName("buttonsWidget") self.setContentsMargins(0, 0, 0, 0) sizepolicy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) sizepolicy.setHorizontalStretch(0) sizepolicy.setVerticalStretch(0) sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizepolicy) self.setStyleSheet("padding: 0px;") self.buttonsLayout = QHBoxLayout(self) self.buttonsLayout.setContentsMargins(0, 0, 0, 0) self.buttonsLayout.setSpacing(0) self.buttonsLayout.setAlignment(Qt.AlignVCenter) self.setLayout(self.buttonsLayout) if qrainbowstyle.USE_DARWIN_BUTTONS: self.btnMinimize = MinimizeDarwinButton(self) self.btnMaximize = MaximizeDarwinButton(self) self.btnRestore = RestoreDarwinButton(self) self.btnClose = CloseDarwinButton(self) else: self.btnMinimize = MinimizeWindowsButton(self) self.btnMaximize = MaximizeWindowsButton(self) self.btnRestore = RestoreWindowsButton(self) self.btnClose = CloseWindowsButton(self) if qrainbowstyle.ALIGN_BUTTONS_LEFT: self.buttonsLayout.addWidget(self.btnClose) if not qrainbowstyle.USE_DARWIN_BUTTONS: self.buttonsLayout.addWidget(self.btnRestore) self.buttonsLayout.addWidget(self.btnMinimize) self.buttonsLayout.addWidget(self.btnMaximize) else: self.buttonsLayout.addWidget(self.btnMinimize) self.buttonsLayout.addWidget(self.btnMaximize) if not qrainbowstyle.USE_DARWIN_BUTTONS: self.buttonsLayout.addWidget(self.btnRestore) self.buttonsLayout.addWidget(self.btnClose) self.btnMinimize.setObjectName("btnMinimize") self.btnMaximize.setObjectName("btnMaximize") if not qrainbowstyle.USE_DARWIN_BUTTONS: self.btnRestore.setObjectName("btnRestore") self.btnClose.setObjectName("btnClose") if qrainbowstyle.USE_DARWIN_BUTTONS: self.buttonsLayout.setSpacing(8)
def __init__(self, parent): super(TitlebarWindowsButton, self).__init__(parent) iconsize = QSize(45, 30) self.setIconSize(iconsize) self.setMinimumSize(iconsize) self.setText("") self.setEnabled(True) self.setAutoFillBackground(True) self.setChecked(False) self.setMouseTracking(True) sizepolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizepolicy.setHorizontalStretch(0) sizepolicy.setVerticalStretch(0) sizepolicy.setHeightForWidth(self.sizePolicy().hasHeightForWidth()) self.setSizePolicy(sizepolicy)
def __init__(self, parent=None): """ Init :param parent: """ from .ui.workspaceviewwidget import WorkspaceViewWidget QMainWindow.__init__(self) # set up self.setObjectName(_fromUtf8("MainWindow")) self.resize(1600, 1200) self.centralwidget = QWidget(self) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.gridLayout = QGridLayout(self.centralwidget) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.widget = WorkspaceViewWidget(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy) self.widget.setObjectName(_fromUtf8("widget")) self.gridLayout.addWidget(self.widget, 1, 0, 1, 1) self.label = QLabel(self.centralwidget) self.label.setObjectName(_fromUtf8("label")) self.gridLayout.addWidget(self.label, 0, 0, 1, 1) self.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(self) self.menubar.setGeometry(QtCore.QRect(0, 0, 1005, 25)) self.menubar.setObjectName(_fromUtf8("menubar")) self.setMenuBar(self.menubar) self.statusbar = QStatusBar(self) self.statusbar.setObjectName(_fromUtf8("statusbar")) self.setStatusBar(self.statusbar) self.toolBar = QToolBar(self) self.toolBar.setObjectName(_fromUtf8("toolBar")) self.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) # self.retranslateUi(self) QtCore.QMetaObject.connectSlotsByName(self)
def setup_ui(self, enabled=True): self.v_lay = QVBoxLayout(self) self.v_lay.setContentsMargins(-1, 6, -1, 6) self.v_lay.setSpacing(0) self.row1 = QHBoxLayout() self.row1.setSpacing(6) self.enabled_checkbox = QCheckBox(self) self.enabled_checkbox.setChecked(enabled) self.enabled_checkbox.stateChanged.connect(self._on_enabled_checkbox) self.enabled_checkbox.setToolTip(trans._("enable/disable")) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.enabled_checkbox.sizePolicy().hasHeightForWidth()) self.enabled_checkbox.setSizePolicy(sizePolicy) self.enabled_checkbox.setMinimumSize(QSize(20, 0)) self.enabled_checkbox.setText("") self.row1.addWidget(self.enabled_checkbox) self.plugin_name = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.plugin_name.sizePolicy().hasHeightForWidth()) self.plugin_name.setSizePolicy(sizePolicy) font15 = QFont() font15.setPointSize(15) self.plugin_name.setFont(font15) self.row1.addWidget(self.plugin_name) icon = QColoredSVGIcon.from_resources("warning") self.warning_tooltip = QtToolTipLabel(self) # TODO: This color should come from the theme but the theme needs # to provide the right color. Default warning should be orange, not # red. Code example: # theme_name = get_settings().appearance.theme # napari.utils.theme.get_theme(theme_name, as_dict=False).warning.as_hex() self.warning_tooltip.setPixmap( icon.colored(color="#E3B617").pixmap(15, 15)) self.warning_tooltip.setVisible(False) self.row1.addWidget(self.warning_tooltip) self.item_status = QLabel(self) self.item_status.setObjectName("small_italic_text") self.item_status.setSizePolicy(sizePolicy) self.row1.addWidget(self.item_status) self.row1.addStretch() self.package_name = QLabel(self) self.package_name.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.row1.addWidget(self.package_name) self.cancel_btn = QPushButton("cancel", self) self.cancel_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.cancel_btn.setObjectName("remove_button") self.row1.addWidget(self.cancel_btn) self.update_btn = QPushButton(self) self.update_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.update_btn.setObjectName("install_button") self.row1.addWidget(self.update_btn) self.update_btn.setVisible(False) self.help_button = QPushButton(self) self.action_button = QPushButton(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.action_button.sizePolicy().hasHeightForWidth()) self.help_button.setSizePolicy(sizePolicy) self.action_button.setSizePolicy(sizePolicy) self.row1.addWidget(self.help_button) self.row1.addWidget(self.action_button) self.v_lay.addLayout(self.row1) self.row2 = QHBoxLayout() self.error_indicator = QPushButton() self.error_indicator.setObjectName("warning_icon") self.error_indicator.setCursor(Qt.PointingHandCursor) self.error_indicator.hide() self.row2.addWidget(self.error_indicator) self.row2.setContentsMargins(-1, 4, 0, -1) self.summary = QElidingLabel(parent=self) sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.summary.sizePolicy().hasHeightForWidth()) self.summary.setSizePolicy(sizePolicy) self.summary.setObjectName("small_text") self.row2.addWidget(self.summary) self.package_author = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.package_author.sizePolicy().hasHeightForWidth()) self.package_author.setSizePolicy(sizePolicy) self.package_author.setObjectName("small_text") self.row2.addWidget(self.package_author) self.v_lay.addLayout(self.row2)
def setup_ui(self): self.v_lay = QVBoxLayout(self) self.v_lay.setContentsMargins(-1, 8, -1, 8) self.v_lay.setSpacing(0) self.row1 = QHBoxLayout() self.row1.setSpacing(8) self.enabled_checkbox = QCheckBox(self) self.enabled_checkbox.setChecked(True) self.enabled_checkbox.setDisabled(True) self.enabled_checkbox.setToolTip(trans._("enable/disable")) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.enabled_checkbox.sizePolicy().hasHeightForWidth()) self.enabled_checkbox.setSizePolicy(sizePolicy) self.enabled_checkbox.setMinimumSize(QSize(20, 0)) self.enabled_checkbox.setText("") self.row1.addWidget(self.enabled_checkbox) self.plugin_name = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.plugin_name.sizePolicy().hasHeightForWidth()) self.plugin_name.setSizePolicy(sizePolicy) font16 = QFont() font16.setPointSize(16) self.plugin_name.setFont(font16) self.row1.addWidget(self.plugin_name) self.package_name = QLabel(self) self.package_name.setAlignment(Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter) self.row1.addWidget(self.package_name) self.action_button = QPushButton(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.action_button.sizePolicy().hasHeightForWidth()) self.action_button.setSizePolicy(sizePolicy) self.row1.addWidget(self.action_button) self.v_lay.addLayout(self.row1) self.row2 = QHBoxLayout() self.error_indicator = QPushButton() self.error_indicator.setObjectName("warning_icon") self.error_indicator.setCursor(Qt.PointingHandCursor) self.error_indicator.hide() self.row2.addWidget(self.error_indicator) self.row2.setContentsMargins(-1, 4, 0, -1) self.summary = ElidingLabel(parent=self) sizePolicy = QSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.summary.sizePolicy().hasHeightForWidth()) self.summary.setSizePolicy(sizePolicy) self.summary.setObjectName("small_text") self.row2.addWidget(self.summary) self.package_author = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.package_author.sizePolicy().hasHeightForWidth()) self.package_author.setSizePolicy(sizePolicy) self.package_author.setObjectName("small_text") self.row2.addWidget(self.package_author) self.v_lay.addLayout(self.row2)
def __init__(self, Form): """Initialization :param parent:ns """ # Initialize parent super(SliceViewWidget, self).__init__(Form) # set up the status self._is_setup = False self._xi = None self._yi = None self._zmatrix = None # set up the UI # main 2D graphics view self.setLayout(QGridLayout()) self.paintwidget = QWidget(self) self.paintwidget.setMinimumSize(800, 600) self.layout().addWidget(self.paintwidget, 0, 0, 1, 1) self.main_canvas = sliceviewwidgets.Qt4Mpl2DCanvas(self.paintwidget) ssizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) ssizePolicy.setHorizontalStretch(1) ssizePolicy.setVerticalStretch(1) ssizePolicy.setHeightForWidth(self.paintwidget.sizePolicy().hasHeightForWidth()) self.paintwidget.setSizePolicy(ssizePolicy) self.paintwidget.setObjectName("graphicsVerticalView") # vertical slice self.vertical_widget = QWidget(self) self.vertical_widget.setMinimumSize(200, 600) self.layout().addWidget(self.vertical_widget, 0, 1, 1, 1) self.vertical_canvas = sliceviewwidgets.Qt4MplCanvasMultiFigure(self.vertical_widget, rotate=1) vsizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) vsizePolicy.setHorizontalStretch(0) vsizePolicy.setVerticalStretch(1) vsizePolicy.setHeightForWidth(True) vsizePolicy.setWidthForHeight(True) self.vertical_widget.setSizePolicy(vsizePolicy) self.vertical_widget.setSizePolicy(vsizePolicy) self.vertical_widget.setObjectName("graphicsVerticalView") # horizontal slice self.horizontal_widget = QWidget(self) self.horizontal_widget.setMinimumSize(800, 150) self.layout().addWidget(self.horizontal_widget, 1, 0, 1, 1) self.horizontal_canvas = sliceviewwidgets.Qt4MplCanvasMultiFigure(self.horizontal_widget) hsizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.MinimumExpanding) hsizePolicy.setHorizontalStretch(1) hsizePolicy.setVerticalStretch(1) hsizePolicy.setHeightForWidth(True) hsizePolicy.setWidthForHeight(False) self.horizontal_widget.setSizePolicy(hsizePolicy) self.horizontal_widget.setSizePolicy(hsizePolicy) self.horizontal_widget.setObjectName("graphicsHorizontalView") # connect the events self.main_canvas.mpl_connect('button_press_event', self.on_mouse_press_event) self.main_canvas.mpl_connect('button_release_event', self.on_mouse_release_event) self.main_canvas.mpl_connect('motion_notify_event', self.on_mouse_move) # indicator self._indicator = IndicatorManager(self.main_canvas) # mouse state # NOTE: 0 = Not Pressed, 1 = left, 3 = right self._mouse_pressed = 0 return
def __init__(self, dock, title): super(Tab, self).__init__() # QWidget.__init__(self) self._clickPos = None self._dock = dock self._active = False self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self._customContextMenu) self.layout = QHBoxLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.layout) self.titleLabel = QLabel() self.titleLabel.setText(title) self.titleLabel.setMinimumWidth(10) self.titleLabel.setContentsMargins(QMargins(5, 3, 5, 3)) size_policy_1 = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) size_policy_1.setHorizontalStretch(0) size_policy_1.setVerticalStretch(0) size_policy_1.setHeightForWidth( self.titleLabel.sizePolicy().hasHeightForWidth()) self.titleLabel.setSizePolicy(size_policy_1) self.layout.addWidget(self.titleLabel) self.close_button = QPushButton() size_policy_2 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred) size_policy_2.setHorizontalStretch(0) size_policy_2.setVerticalStretch(0) size_policy_2.setHeightForWidth( self.close_button.sizePolicy().hasHeightForWidth()) self.close_button.setSizePolicy(size_policy_2) self.layout.addWidget(self.close_button) self.close_button.clicked.connect(self._closeClick) self._style = """ Tab { background-color: #a0a0a1; border: 0px solid green; border-top-left-radius: 2px; border-top-right-radius: 2px; padding: 2px; } Tab[active="true"] { background-color: #475057; border: 0px solid green; border-top-left-radius: 2px; border-top-right-radius: 2px; padding: 2px; } Tab QLabel {color: #cecece; } Tab > QPushButton { background-color: transparent; border: 0px solid green; qproperty-icon: none; image: url(":/bench/close_1"); width: 18px; height: 18px; } Tab > QPushButton:hover { background-color: transparent; border: 0px solid green; qproperty-icon: none; image: url(":/bench/close"); width: 18px; height: 18px; } """ self.setStyleSheet(self._style) self.closeAction = QAction("Close", self) self.closeAction.triggered.connect(self._closeClick) self.dockProperties = QAction("Properties", self) self.dockProperties.triggered.connect(self._dockProperties)
def setup_ui(self, enabled=True): self.v_lay = QVBoxLayout(self) self.v_lay.setContentsMargins(-1, 6, -1, 6) self.v_lay.setSpacing(0) self.row1 = QHBoxLayout() self.row1.setSpacing(6) self.enabled_checkbox = QCheckBox(self) self.enabled_checkbox.setChecked(enabled) self.enabled_checkbox.stateChanged.connect(self._on_enabled_checkbox) self.enabled_checkbox.setToolTip(trans._("enable/disable")) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.enabled_checkbox.sizePolicy().hasHeightForWidth() ) self.enabled_checkbox.setSizePolicy(sizePolicy) self.enabled_checkbox.setMinimumSize(QSize(20, 0)) self.enabled_checkbox.setText("") self.row1.addWidget(self.enabled_checkbox) self.plugin_name = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.plugin_name.sizePolicy().hasHeightForWidth() ) self.plugin_name.setSizePolicy(sizePolicy) font15 = QFont() font15.setPointSize(15) self.plugin_name.setFont(font15) self.row1.addWidget(self.plugin_name) self.item_status = QLabel(self) self.item_status.setObjectName("small_italic_text") self.item_status.setSizePolicy(sizePolicy) self.row1.addWidget(self.item_status) self.row1.addStretch() self.package_name = QLabel(self) self.package_name.setAlignment( Qt.AlignRight | Qt.AlignTrailing | Qt.AlignVCenter ) self.row1.addWidget(self.package_name) self.cancel_btn = QPushButton("cancel", self) self.cancel_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.cancel_btn.setObjectName("remove_button") self.row1.addWidget(self.cancel_btn) self.update_btn = QPushButton(self) self.update_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) self.update_btn.setObjectName("install_button") self.row1.addWidget(self.update_btn) self.update_btn.setVisible(False) self.help_button = QPushButton(self) self.action_button = QPushButton(self) sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.action_button.sizePolicy().hasHeightForWidth() ) self.help_button.setSizePolicy(sizePolicy) self.action_button.setSizePolicy(sizePolicy) self.row1.addWidget(self.help_button) self.row1.addWidget(self.action_button) self.v_lay.addLayout(self.row1) self.row2 = QHBoxLayout() self.error_indicator = QPushButton() self.error_indicator.setObjectName("warning_icon") self.error_indicator.setCursor(Qt.PointingHandCursor) self.error_indicator.hide() self.row2.addWidget(self.error_indicator) self.row2.setContentsMargins(-1, 4, 0, -1) self.summary = QElidingLabel(parent=self) sizePolicy = QSizePolicy( QSizePolicy.MinimumExpanding, QSizePolicy.Preferred ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.summary.sizePolicy().hasHeightForWidth() ) self.summary.setSizePolicy(sizePolicy) self.summary.setObjectName("small_text") self.row2.addWidget(self.summary) self.package_author = QLabel(self) sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.package_author.sizePolicy().hasHeightForWidth() ) self.package_author.setSizePolicy(sizePolicy) self.package_author.setObjectName("small_text") self.row2.addWidget(self.package_author) self.v_lay.addLayout(self.row2)