def __init__(self, *args, **kwargs): super(FormWidget, self).__init__(*args, **kwargs) self._schema = [] self._widgets = [] self._validator = None layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.setLayout(layout) self._fieldsFrame = QtWidgets.QFrame(self) self._fieldsFrame.setObjectName("optionsFrame") layout = QtWidgets.QVBoxLayout(self._fieldsFrame) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self._fieldsFrame.setLayout(layout) self._titleWidget = QtWidgets.QPushButton(self) self._titleWidget.setCheckable(True) self._titleWidget.setObjectName("titleWidget") self._titleWidget.toggled.connect(self._titleClicked) self._titleWidget.hide() self.layout().addWidget(self._titleWidget) self.layout().addWidget(self._fieldsFrame)
def __init__(self, *args, **kwargs): """ Using a custom load widget to support nicer blending. """ super(PoseLoadWidget, self).__init__(*args, **kwargs) self.ui.blendFrame = QtWidgets.QFrame(self) layout = QtWidgets.QHBoxLayout(self) self.ui.blendFrame.setLayout(layout) self.ui.blendSlider = QtWidgets.QSlider(self) self.ui.blendSlider.setObjectName("blendSlider") self.ui.blendSlider.setMinimum(-30) self.ui.blendSlider.setMaximum(130) self.ui.blendSlider.setOrientation(QtCore.Qt.Horizontal) self.ui.blendSlider.sliderMoved.connect(self.sliderMoved) self.ui.blendSlider.sliderReleased.connect(self.sliderReleased) self.ui.blendEdit = QtWidgets.QLineEdit(self) self.ui.blendEdit.setObjectName("blendEdit") self.ui.blendEdit.setText("0") self.ui.blendEdit.editingFinished.connect(self._blendEditChanged) validator = QtGui.QIntValidator(-200, 200, self) self.ui.blendEdit.setValidator(validator) layout.addWidget(self.ui.blendSlider) layout.addWidget(self.ui.blendEdit) self.setCustomWidget(self.ui.blendFrame) self.item().sliderChanged.connect(self.setSliderValue)
def createWidget(self, menu): """ This method is called by the QWidgetAction base class. :type menu: QtWidgets.QMenu """ widget = QtWidgets.QFrame(self.parent()) widget.setObjectName("filterByAction") facet = self._facet name = facet.get("name") or "" count = str(facet.get("count", 0)) title = name.replace(".", "").title() label = QtWidgets.QCheckBox(widget) label.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) label.setText(title) label.installEventFilter(self) label.toggled.connect(self._triggered) label.setChecked(self._checked) label2 = QtWidgets.QLabel(widget) label2.setObjectName("actionCounter") label2.setText(count) layout = QtWidgets.QHBoxLayout(widget) layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) layout.addWidget(label, stretch=1) layout.addWidget(label2) widget.setLayout(layout) return widget
def __init__(self, *args, **kwargs): super(ButtonGroupFieldWidget, self).__init__(*args, **kwargs) self._value = "" self._buttons = {} items = self.data().get('items') widget = QtWidgets.QFrame() layout = QtWidgets.QHBoxLayout(widget) layout.setSpacing(0) layout.setContentsMargins(0, 0, 0, 0) widget.setLayout(layout) i = 0 for item in items: i += 1 button = QtWidgets.QPushButton(item, self) button.setCheckable(True) callback = functools.partial(self.setValue, item) button.clicked.connect(callback) self._buttons[item] = button if i == 1: button.setProperty('first', True) if i == len(items): button.setProperty('last', True) widget.layout().addWidget(button) self.setWidget(widget)
def createWidget(self, menu): """ This method is called by the QWidgetAction base class. :type menu: QtWidgets.QMenu """ widget = QtWidgets.QFrame(self.parent()) widget.setObjectName("filterByAction") title = self._name # Using a checkbox so that the text aligns with the other actions label = QtWidgets.QCheckBox(widget) label.setText(title) label.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) label.toggled.connect(self._triggered) label.setStyleSheet(""" #QCheckBox::indicator:checked { image: url(none.png) } QCheckBox::indicator:unchecked { image: url(none.png) } """) actionLayout = QtWidgets.QHBoxLayout(widget) actionLayout.setContentsMargins(0, 0, 0, 0) actionLayout.addWidget(label, stretch=1) widget.setLayout(actionLayout) return widget
def example(): widget = QtWidgets.QFrame() widget.setStyleSheet("border-radius:3px;background-color:white;") widget.setMinimumWidth(300) widget.setMinimumHeight(300) widget.setMaximumWidth(500) lightbox = Lightbox() lightbox.setWidget(widget) lightbox.show()
def createTitleWidget(self): """ Create a new instance of the title bar widget. :rtype: QtWidgets.QFrame """ class UI(object): """Proxy class for attaching ui widgets as properties.""" pass titleWidget = QtWidgets.QFrame(self) titleWidget.setObjectName("titleWidget") titleWidget.ui = UI() vlayout = QtWidgets.QVBoxLayout(self) vlayout.setSpacing(0) vlayout.setContentsMargins(0,0,0,0) hlayout = QtWidgets.QHBoxLayout(self) hlayout.setSpacing(0) hlayout.setContentsMargins(0,0,0,0) vlayout.addLayout(hlayout) titleButton = QtWidgets.QPushButton(self) titleButton.setText("Folders") titleButton.setObjectName("titleButton") titleWidget.ui.titleButton = titleButton hlayout.addWidget(titleButton) menuButton = QtWidgets.QPushButton(self) menuButton.setText("...") menuButton.setObjectName("menuButton") titleWidget.ui.menuButton = menuButton hlayout.addWidget(menuButton) self._lineEdit = studiolibrary.widgets.LineEdit(self) self._lineEdit.hide() self._lineEdit.setObjectName("filterEdit") self._lineEdit.setText(self.treeWidget().filterText()) self._lineEdit.textChanged.connect(self.searchChanged) titleWidget.ui.filterEdit = self._lineEdit vlayout.addWidget(self._lineEdit) titleWidget.setLayout(vlayout) return titleWidget
def createWidget(self, menu): """ This method is called by the QWidgetAction base class. :type menu: QtWidgets.QMenu """ widget = QtWidgets.QFrame(menu) widget.setObjectName("colorPickerAction") actionLayout = QtWidgets.QHBoxLayout(widget) actionLayout.setContentsMargins(0, 0, 0, 0) actionLayout.addWidget(self.picker(), stretch=1) widget.setLayout(actionLayout) return widget
def __init__(self, *args, **kwargs): super(RadioFieldWidget, self).__init__(*args, **kwargs) self._radioButtons = [] layout = QtWidgets.QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) self._radioFrame = QtWidgets.QFrame(self) self._radioFrame.setLayout(layout) self.setWidget(self._radioFrame) self.label().setStyleSheet("margin-top:2px;") self.widget().setStyleSheet("margin-top:2px;") self.label().setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
def __init__(self, *args, **kwargs): super(StringDoubleFieldWidget, self).__init__(*args, **kwargs) widget = QtWidgets.QFrame(self) layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(4) widget.setLayout(layout) self._widget1 = QtWidgets.QLineEdit(self) self._widget1.textChanged.connect(self.emitValueChanged) widget.layout().addWidget(self._widget1) self._widget2 = QtWidgets.QLineEdit(self) self._widget2.textChanged.connect(self.emitValueChanged) widget.layout().addWidget(self._widget2) self.setWidget(widget)
def createTitleWidget(self): """ Create a new instance of the title bar widget. :rtype: QtWidgets.QFrame """ class UI(object): """Proxy class for attaching ui widgets as properties.""" pass titleWidget = QtWidgets.QFrame(self) titleWidget.setObjectName("titleWidget") titleWidget.ui = UI() vlayout = QtWidgets.QVBoxLayout(self) vlayout.setSpacing(0) vlayout.setContentsMargins(0, 0, 0, 0) hlayout = QtWidgets.QHBoxLayout(self) hlayout.setSpacing(0) hlayout.setContentsMargins(0, 0, 0, 0) vlayout.addLayout(hlayout) titleButton = QtWidgets.QLabel(self) titleButton.setText(self.item().NAME) titleButton.setObjectName("titleButton") titleWidget.ui.titleButton = titleButton hlayout.addWidget(titleButton) menuButton = QtWidgets.QPushButton(self) menuButton.setText("...") menuButton.setObjectName("menuButton") titleWidget.ui.menuButton = menuButton hlayout.addWidget(menuButton) titleWidget.setLayout(vlayout) return titleWidget
def __init__(self, title, widget, persistent=False, *args, **kwargs): super(GroupBoxWidget, self).__init__(*args, **kwargs) self._widget = None self._persistent = None layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.setLayout(layout) self._titleWidget = QtWidgets.QPushButton(self) self._titleWidget.setCheckable(True) self._titleWidget.setText(title) self._titleWidget.setObjectName("title") self._titleWidget.toggled.connect(self._toggled) on_path = studiolibrary.resource.get("icons", "caret-down.svg") off_path = studiolibrary.resource.get("icons", "caret-right.svg") icon = studioqt.Icon.fa(on_path, color="rgb(255,255,255,200)", off=off_path) self._titleWidget.setIcon(icon) self.layout().addWidget(self._titleWidget) self._widgetFrame = QtWidgets.QFrame(self) self._widgetFrame.setObjectName("frame") layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self._widgetFrame.setLayout(layout) self.layout().addWidget(self._widgetFrame) if widget: self.setWidget(widget) self.setPersistent(persistent)
def __init__(self, *args, **kwargs): super(RangeFieldWidget, self).__init__(*args, **kwargs) widget = QtWidgets.QFrame(self) layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(4) widget.setLayout(layout) validator = QtGui.QIntValidator(-50000000, 50000000, self) self._minwidget = QtWidgets.QLineEdit(self) self._minwidget.setValidator(validator) self._minwidget.textChanged.connect(self.emitValueChanged) widget.layout().addWidget(self._minwidget) self._maxwidget = QtWidgets.QLineEdit(self) self._maxwidget.setValidator(validator) self._maxwidget.textChanged.connect(self.emitValueChanged) widget.layout().addWidget(self._maxwidget) self.setWidget(widget)
def __init__(self, parent=None, width=None, height=None, enableInputEdit=False, enableDontShowCheckBox=False): super(MessageBox, self).__init__(parent) self.setObjectName("messageBox") self._frame = None self._animation = None self._dontShowCheckbox = False self._clickedButton = None self._clickedStandardButton = None if width: self.setMinimumWidth(width) if height: self.setMinimumHeight(height) parent = self.parent() if parent: parent.installEventFilter(self) self._frame = QtWidgets.QFrame(parent) self._frame.setObjectName("messageBoxFrame") self._frame.show() self.setParent(self._frame) self._header = QtWidgets.QFrame(self) self._header.setObjectName("messageBoxHeaderFrame") self._header.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self._icon = QtWidgets.QLabel(self._header) self._icon.setObjectName("messageBoxIcon") self._icon.hide() self._icon.setScaledContents(True) self._icon.setAlignment(QtCore.Qt.AlignTop) self._icon.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self._title = QtWidgets.QLabel(self._header) self._title.setObjectName("messageBoxHeaderLabel") self._title.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) hlayout = QtWidgets.QHBoxLayout(self._header) hlayout.setContentsMargins(15, 7, 15, 10) hlayout.setSpacing(10) hlayout.addWidget(self._icon) hlayout.addWidget(self._title) self._header.setLayout(hlayout) bodyLayout = QtWidgets.QVBoxLayout(self) self._body = QtWidgets.QFrame(self) self._body.setObjectName("messageBoxBody") self._body.setLayout(bodyLayout) self._message = QtWidgets.QLabel(self._body) self._message.setWordWrap(True) self._message.setMinimumHeight(15) self._message.setAlignment(QtCore.Qt.AlignLeft) self._message.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse) self._message.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) bodyLayout.addWidget(self._message) bodyLayout.setContentsMargins(15, 15, 15, 15) if enableInputEdit: self._inputEdit = QtWidgets.QLineEdit(self._body) self._inputEdit.setObjectName("messageBoxInputEdit") self._inputEdit.setFocus() bodyLayout.addStretch(1) bodyLayout.addWidget(self._inputEdit) bodyLayout.addStretch(10) if enableDontShowCheckBox: msg = "Don't show this message again" self._dontShowCheckbox = QtWidgets.QCheckBox(msg, self._body) bodyLayout.addStretch(10) bodyLayout.addWidget(self._dontShowCheckbox) bodyLayout.addStretch(2) self._buttonBox = QtWidgets.QDialogButtonBox(None, QtCore.Qt.Horizontal, self) self._buttonBox.clicked.connect(self._clicked) self._buttonBox.accepted.connect(self._accept) self._buttonBox.rejected.connect(self._reject) vlayout1 = QtWidgets.QVBoxLayout(self) vlayout1.setContentsMargins(0, 0, 0, 0) vlayout1.addWidget(self._header) vlayout1.addWidget(self._body) bodyLayout.addWidget(self._buttonBox) self.setLayout(vlayout1) self.updateGeometry()