def setup_ui(self): """create the UI widgets """ self.vertical_layout = QtWidgets.QVBoxLayout(self) self.setLayout(self.vertical_layout) # the widget should consist of a QGraphic self.thumbnail_graphics_view = QtWidgets.QGraphicsView(self) # set size policy size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) size_policy.setHorizontalStretch(0) size_policy.setVerticalStretch(0) size_policy.setHeightForWidth( self.thumbnail_graphics_view.sizePolicy().hasHeightForWidth()) self.thumbnail_graphics_view.setSizePolicy(size_policy) # set size default_size = QtCore.QSize(*self.default_thumbnail_size) self.thumbnail_graphics_view.setMinimumSize(default_size) self.thumbnail_graphics_view.setMaximumSize(default_size) self.thumbnail_graphics_view.setAutoFillBackground(False) self.thumbnail_graphics_view.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.thumbnail_graphics_view.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) self.thumbnail_graphics_view.setBackgroundBrush(brush) self.thumbnail_graphics_view.setInteractive(False) self.thumbnail_graphics_view.setRenderHints( QtGui.QPainter.Antialiasing | QtGui.QPainter.HighQualityAntialiasing | QtGui.QPainter.SmoothPixmapTransform | QtGui.QPainter.TextAntialiasing) self.vertical_layout.addWidget(self.thumbnail_graphics_view) self.upload_thumbnail_button = QtWidgets.QPushButton(self) self.upload_thumbnail_button.setText("Upload...") self.upload_thumbnail_button.setGeometry( self.thumbnail_graphics_view.geometry()) self.upload_thumbnail_button.setVisible(True) self.vertical_layout.addWidget(self.upload_thumbnail_button) # create signals # QtCore.QObject.connect( # self.thumbnail_graphics_view, # QtCore.SIGNAL("clicked()"), # self.thumbnail_graphics_view_clicked # ) QtCore.QObject.connect(self.upload_thumbnail_button, QtCore.SIGNAL("clicked()"), self.upload_thumbnail_button_clicked)
def read_settings(self): """read settings from persistent storage """ self.settings.beginGroup('MainWindow') self.resize(self.settings.value('size', QtCore.QSize(800, 600))) self.move(self.settings.value('pos', QtCore.QPoint(100, 100))) self.restoreState(self.settings.value('windowState')) self.settings.endGroup()
def setup_ui(self): """create the UI widgets """ self.vertical_layout = QtWidgets.QVBoxLayout(self) from anima.ui.lib import QtCore, QtGui # the widget should consist of a QGraphic self.thumbnail_graphics_view = QtWidgets.QGraphicsView(self) # set size policy size_policy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed ) size_policy.setHorizontalStretch(0) size_policy.setVerticalStretch(0) size_policy.setHeightForWidth( self.thumbnail_graphics_view.sizePolicy().hasHeightForWidth()) self.thumbnail_graphics_view.setSizePolicy(size_policy) # set size default_size = QtCore.QSize( self.default_thumbnail_size, self.default_thumbnail_size ) self.thumbnail_graphics_view.setMinimumSize(default_size) self.thumbnail_graphics_view.setMaximumSize(default_size) self.thumbnail_graphics_view.setAutoFillBackground(False) self.thumbnail_graphics_view.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff ) self.thumbnail_graphics_view.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff ) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) self.thumbnail_graphics_view.setBackgroundBrush(brush) self.thumbnail_graphics_view.setInteractive(False) self.thumbnail_graphics_view.setRenderHints( QtGui.QPainter.Antialiasing | QtGui.QPainter.HighQualityAntialiasing | QtGui.QPainter.SmoothPixmapTransform | QtGui.QPainter.TextAntialiasing ) self.vertical_layout.addWidget(self.thumbnail_graphics_view)
def setup_ui(self): """add tools """ # create the main tab layout main_tab_widget = QtWidgets.QTabWidget(self.widget()) self.addWidget(main_tab_widget) # add the General Tab general_tab_widget = QtWidgets.QWidget(self.widget()) general_tab_vertical_layout = QtWidgets.QVBoxLayout() general_tab_vertical_layout.setSizeConstraint( QtWidgets.QLayout.SetMaximumSize ) general_tab_widget.setLayout(general_tab_vertical_layout) main_tab_widget.addTab(general_tab_widget, 'Generic') # Create tools for general tab # ------------------------------------------------------------------- # Open Version add_button( 'Open Version', general_tab_vertical_layout, GenericTools.version_dialog, callback_kwargs={"parent": self.parent(), "mode": 1} ) # Save As Version add_button( 'Save As Version', general_tab_vertical_layout, GenericTools.version_dialog, callback_kwargs={"parent": self.parent(), "mode": 0} ) # Update Outputs add_button( 'Update Savers', general_tab_vertical_layout, GenericTools.update_savers ) # Loader Report add_button( 'Loader Report', general_tab_vertical_layout, GenericTools.loader_report ) # PassThrough All Saver nodes add_button( 'PassThrough All Savers', general_tab_vertical_layout, GenericTools.pass_through_all_savers ) # Insert Pipe Router add_button( 'Insert Pipe Router', general_tab_vertical_layout, GenericTools.insert_pipe_router_to_selected_node ) # Loader From Saver add_button( 'Loader from Saver', general_tab_vertical_layout, GenericTools.loader_from_saver ) # Delete Recent Comps add_button( 'Delete Recent Comps', general_tab_vertical_layout, GenericTools.delete_recent_comps ) # Set Frames At Once To 1, 5 and 10 hbox_layout = QtWidgets.QHBoxLayout() general_tab_vertical_layout.addLayout(hbox_layout) set_frames_at_once_label = QtWidgets.QLabel() set_frames_at_once_label.setText("Set Frames At Once To") hbox_layout.addWidget(set_frames_at_once_label) for i in [1, 5, 10]: button = add_button( '%s' % i, hbox_layout, GenericTools.set_frames_at_once, callback_kwargs={'count': i} ) button.setMinimumSize(QtCore.QSize(25, 0)) add_line(general_tab_vertical_layout) # Range From Shot add_button( 'Get Comp Range From Database', general_tab_vertical_layout, GenericTools.range_from_shot ) # Shot From Range add_button( 'Set Comp Range To Database', general_tab_vertical_layout, GenericTools.shot_from_range ) add_line(general_tab_vertical_layout) # Render Merger add_button( 'Render Merger', general_tab_vertical_layout, GenericTools.render_merger, tooltip="Creates comp setup to merge renders created with Render Slicer." ) # Render Merger import functools add_button( '3DE4 Lens Distort', general_tab_vertical_layout, functools.partial(GenericTools.tde4_lens_distort_node_creator, self.parent()), tooltip=GenericTools.tde4_lens_distort_node_creator.__doc__ ) # ------------------------------------------------------------------- # Add the stretcher general_tab_vertical_layout.addStretch()