def __init__(self, *args): QtWidgets.QLineEdit.__init__(self, *args) icon = studiolibrary.resource.icon("search.svg") self._iconButton = QtWidgets.QPushButton(self) self._iconButton.setObjectName("icon") self._iconButton.clicked.connect(self._iconClicked) self._iconButton.setIcon(icon) self._iconButton.setStyleSheet( "QPushButton{background-color: transparent;}") icon = studiolibrary.resource.icon("times.svg") self._clearButton = QtWidgets.QPushButton(self) self._clearButton.setObjectName("clear") self._clearButton.setCursor(QtCore.Qt.ArrowCursor) self._clearButton.setIcon(icon) self._clearButton.setToolTip("Clear all search text") self._clearButton.clicked.connect(self._clearClicked) self._clearButton.setStyleSheet( "QPushButton{background-color: transparent;}") self.textChanged.connect(self._textChanged) color = studioqt.Color.fromString("rgb(250,250,250,115)") self.setIconColor(color) self.update()
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 __init__(self, parent=None, form=None): super(FormDialog, self).__init__(parent) layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self.setLayout(layout) self._widgets = [] self._validator = None self._title = QtWidgets.QLabel(self) self._title.setObjectName('title') self._title.setText('FORM') self.layout().addWidget(self._title) self._description = QtWidgets.QLabel(self) self._description.setObjectName('description') self.layout().addWidget(self._description) self._formWidget = FormWidget(self) self._formWidget.setObjectName("formWidget") self._formWidget.validated.connect(self._validated) self.layout().addWidget(self._formWidget) self.layout().addStretch(1) buttonLayout = QtWidgets.QHBoxLayout(self) buttonLayout.setContentsMargins(0, 0, 0, 0) buttonLayout.setSpacing(0) self.layout().addLayout(buttonLayout) buttonLayout.addStretch(1) self._acceptButton = QtWidgets.QPushButton(self) self._acceptButton.setObjectName('acceptButton') self._acceptButton.setText('Submit') self._acceptButton.clicked.connect(self.accept) self._rejectButton = QtWidgets.QPushButton(self) self._rejectButton.setObjectName('rejectButton') self._rejectButton.setText('Cancel') self._rejectButton.clicked.connect(self.reject) buttonLayout.addWidget(self._acceptButton) buttonLayout.addWidget(self._rejectButton) if form: self.setSettings(form)
def __init__(self, *args): QtWidgets.QFrame.__init__(self, *args) self.setObjectName("statusWidget") self.setFrameShape(QtWidgets.QFrame.NoFrame) self._blocking = False self._timer = QtCore.QTimer(self) self._label = QtWidgets.QLabel("", self) self._label.setCursor(QtCore.Qt.IBeamCursor) self._label.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse) self._label.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) self._button = QtWidgets.QPushButton(self) self._button.setMaximumSize(QtCore.QSize(17, 17)) self._button.setIconSize(QtCore.QSize(17, 17)) self._progressBar = ProgressBar(self) self._progressBar.hide() layout = QtWidgets.QHBoxLayout(self) layout.setContentsMargins(1, 0, 0, 0) layout.addWidget(self._button) layout.addWidget(self._label) layout.addWidget(self._progressBar) self.setLayout(layout) self.setFixedHeight(19) self.setMinimumWidth(5) self._timer.timeout.connect(self.reset)
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): 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 __init__(self, path="", parent=None, startFrame=None, endFrame=None, step=1): """ :type path: str :type parent: QtWidgets.QWidget :type startFrame: int :type endFrame: int :type step: int """ parent = parent or mutils.gui.mayaWindow() QtWidgets.QDialog.__init__(self, parent) self._path = path self._step = step self._endFrame = None self._startFrame = None self._capturedPath = None if endFrame is None: endFrame = int(maya.cmds.currentTime(query=True)) if startFrame is None: startFrame = int(maya.cmds.currentTime(query=True)) self.setEndFrame(endFrame) self.setStartFrame(startFrame) self.setObjectName("CaptureWindow") self.setWindowTitle("Capture Window") self._captureButton = QtWidgets.QPushButton("Capture") self._captureButton.clicked.connect(self.capture) self._modelPanelWidget = mutils.gui.modelpanelwidget.ModelPanelWidget( self) vbox = QtWidgets.QVBoxLayout(self) vbox.setObjectName(self.objectName() + "Layout") vbox.addWidget(self._modelPanelWidget) vbox.addWidget(self._captureButton) self.setLayout(vbox) width = (self.DEFAULT_WIDTH * 1.5) height = (self.DEFAULT_HEIGHT * 1.5) + 50 self.setWidthHeight(width, height) self.centerWindow()
def setColors(self, colors): """ Set the colors for the color bar. :type colors: list[str] or list[studioqt.Color] """ self.deleteButtons() first = True last = False for i, color in enumerate(colors): if i == len(colors)-1: last = True if not isinstance(color, str): color = studioqt.Color(color) color = color.toString() callback = partial(self._colorChanged, color) button = self.COLOR_BUTTON_CLASS(self) button.setObjectName('colorButton') button.setColor(color) button.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred ) button.setProperty("first", first) button.setProperty("last", last) button.clicked.connect(callback) self.layout().addWidget(button) self._buttons.append(button) first = False self._menuButton = QtWidgets.QPushButton("...", self) self._menuButton.setObjectName('menuButton') self._menuButton.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred ) self._menuButton.clicked.connect(self.browseColor) self.layout().addWidget(self._menuButton) self.refresh()
def setIcons(self, icons): """ Set the colors for the color bar. :type icons: list[str] or list[studioqt.Icon] """ self.deleteButtons() i = 0 first = True last = False positions = [(i, j) for i in range(5) for j in range(5)] for position, iconPath in zip(positions, icons): i += 1 if i == len(icons) - 1: last = True callback = partial(self._iconChanged, iconPath) button = self.BUTTON_CLASS(self) button.setIconPath(iconPath) button.setIconSize(QtCore.QSize(16, 16)) button.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred ) button.setProperty("first", first) button.setProperty("last", last) button.clicked.connect(callback) self.layout().addWidget(button, *position) self._buttons.append(button) first = False self._menuButton = QtWidgets.QPushButton("...", self) self._menuButton.setObjectName('menuButton') self._menuButton.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred ) self._menuButton.clicked.connect(self.browseColor) self.layout().addWidget(self._menuButton) self.refresh()
def __init__(self, *args): QtWidgets.QLineEdit.__init__(self, *args) self._dataset = None self._spaceOperator = "and" self._iconButton = QtWidgets.QPushButton(self) self._iconButton.clicked.connect(self._iconClicked) icon = studiolibrary.resource.icon("search") self.setIcon(icon) self._clearButton = QtWidgets.QPushButton(self) self._clearButton.setCursor(QtCore.Qt.ArrowCursor) icon = studiolibrary.resource.icon("cross") self._clearButton.setIcon(icon) self._clearButton.setToolTip("Clear all search text") self._clearButton.clicked.connect(self._clearClicked) self._clearButton.setStyleSheet("background-color: transparent;") self.setPlaceholderText(self.PLACEHOLDER_TEXT) self.textChanged.connect(self._textChanged) self.update()
def setWidget(self, widget): """ Set the widget used to set and get the field value. :type widget: QtWidgets.QWidget """ widgetLayout = QtWidgets.QHBoxLayout(self) widgetLayout.setContentsMargins(0, 0, 0, 0) widgetLayout.setSpacing(0) self._widget = widget self._widget.setParent(self) self._widget.setObjectName('widget') self._widget.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred, ) self._menuButton = QtWidgets.QPushButton("...") self._menuButton.setHidden(True) self._menuButton.setObjectName("menuButton") self._menuButton.clicked.connect(self._menuCallback) self._menuButton.setSizePolicy( QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding, ) widgetLayout.addWidget(self._widget) widgetLayout.addWidget(self._menuButton) layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self._errorLabel = QtWidgets.QLabel(self) self._errorLabel.setHidden(True) self._errorLabel.setObjectName("errorLabel") self._errorLabel.setSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred, ) layout.addLayout(widgetLayout) layout.addWidget(self._errorLabel) self._layout2.addLayout(layout)
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)