def __init__(self, parent, host, text): UIWidget.__init__(self, host) QtWidgets.QWidget.__init__(self, parent) self._palette = None self.update_colors() self._drag_diff = None self.moved_by_hand = False self.top_row_layout = QtWidgets.QHBoxLayout() #close_button = QtWidgets.QPushButton("x") close_button = PanelButton(pixmap=qt_prefs.close_icon, tooltip='Close', parent=self, size=12, color_key='content1') close_button.setMaximumWidth(16) self.ui_manager.connect_element_to_action(close_button, 'close_embed') self.top_row_layout.addWidget(close_button) self.top_row_layout.setAlignment(QtCore.Qt.AlignLeft) self.top_row_layout.addSpacing(8) self.top_title = QtWidgets.QLabel(text) self.top_row_layout.addWidget(self.top_title) self.assumed_width = 300 self.assumed_height = 100 self._magnet = QtCore.QPoint(0, 0), 1 # Effect will be disabled if QTextEdit is used. self.setAutoFillBackground(True) self.setBackgroundRole(QtGui.QPalette.Window) self.hide()
def mini_icon_button(ui_manager, parent, layout, icon=None, text='', action='', x=-1, y=-1, checkable=False, max_width=16): """ :param ui_manager: :param layout: :param parent: :param text: :param action: :param x: :param y: :param checkable: :param max_width: :return: """ button = PanelButton(pixmap=icon, tooltip=text, parent=parent, size=12) button.setMaximumWidth(max_width) button.setCheckable(checkable) ui_manager.connect_element_to_action(button, action) if x != -1: layout.addWidget(button, y, x) else: layout.addWidget(button) return button