def __init__(self, parent=None): super(XOverlayWidget, self).__init__(parent) # define custom properties self._centralWidget = None self._result = None self._closable = True self._closeAlignment = QtCore.Qt.AlignTop | QtCore.Qt.AlignRight self._closeButton = XToolButton(self) self._closeButton.setShadowed(True) self._closeButton.setIcon( QtGui.QIcon(resources.find('img/overlay/close.png'))) self._closeButton.setIconSize(QtCore.QSize(24, 24)) self._closeButton.setToolTip('Close') # create the coloring for the overlay palette = self.palette() clr = QtGui.QColor('#222222') clr.setAlpha(210) palette.setColor(palette.Window, clr) self.setPalette(palette) self.setAutoFillBackground(True) # listen to the parents event filter parent.installEventFilter(self) # initialize the widget self.hide() self.move(0, 0) self.resize(parent.size()) self._closeButton.clicked.connect(self.reject)
def __init__(self, parent, windowFlags=0): windowFlags = QtCore.Qt.WindowFlags(windowFlags) super(XMdiSubWindow, self).__init__(parent, windowFlags) # define custom properties palette = self.palette() font = self.font() font.setBold(True) font.setPointSize(font.pointSize() + 2) self._titleBarFont = font self._titleBarBackground = palette.color(palette.Button) self._titleBarForeground = palette.color(palette.ButtonText) self._titleBarBorder = QtGui.QColor('black') # create the drop shadow effect eff = QtGui.QGraphicsDropShadowEffect(self) eff.setOffset(0, 0) eff.setBlurRadius(40) eff.setColor(palette.color(palette.Shadow)) self.setGraphicsEffect(eff) # create the control buttons self._sysmenuBtn = XToolButton(self) self._sysmenuBtn.setIcon(self.windowIcon()) self._sysmenuBtn.setPalette(palette) self._sysmenuBtn.setAutoRaise(True) self._sysmenuBtn.setFixedSize(QtCore.QSize(22, 22)) self._sysmenuBtn.move(4, 4) self._sysmenuBtn.show() palette.setColor(palette.Shadow, QtGui.QColor('yellow')) self._minimizeBtn = XToolButton(self) self._minimizeBtn.setIcon( QtGui.QIcon(resources.find('img/mdiarea/minimize.png'))) self._minimizeBtn.setPalette(palette) self._minimizeBtn.setShadowed(True) self._minimizeBtn.setShadowRadius(10) self._minimizeBtn.setFixedSize(QtCore.QSize(22, 22)) self._minimizeBtn.show() palette.setColor(palette.Shadow, QtGui.QColor('orange')) self._maximizeBtn = XToolButton(self) self._maximizeBtn.setIcon( QtGui.QIcon(resources.find('img/mdiarea/maximize.png'))) self._maximizeBtn.setPalette(palette) self._maximizeBtn.setShadowed(True) self._maximizeBtn.setShadowRadius(10) self._maximizeBtn.setFixedSize(QtCore.QSize(22, 22)) self._maximizeBtn.show() palette.setColor(palette.Shadow, QtGui.QColor('red')) self._closeBtn = XToolButton(self) self._closeBtn.setIcon( QtGui.QIcon(resources.find('img/mdiarea/close.png'))) self._closeBtn.setPalette(palette) self._closeBtn.setShadowed(True) self._closeBtn.setShadowRadius(10) self._closeBtn.setFixedSize(QtCore.QSize(22, 22)) self._closeBtn.show() # create connections self._sysmenuBtn.clicked.connect(self.showSystemMenu) self._minimizeBtn.clicked.connect(self.toggleMinimized) self._maximizeBtn.clicked.connect(self.toggleMaximized) self._closeBtn.clicked.connect(self.close)
def createWidget(self, parent): btn = XToolButton(parent) btn.setDefaultAction(self) btn.setCheckable(self.isCheckable()) btn.setChecked(self.isChecked()) return btn