def __init__(self, button1, button2, button3, parent=None): super(PlaneSelectionButtons, self).__init__(parent=parent) current_directory = os.path.dirname(os.path.realpath(__file__)) self.layout = QVBoxLayout(self) self.btn1 = QPushButton() self.btn1.setIcon(QtGui.QIcon(current_directory + '/images/one.png')) self.btn1.setIconSize(QtCore.QSize(100, 100)) self.btn2 = QPushButton() self.btn2.setIcon(QtGui.QIcon(current_directory + '/images/two.png')) self.btn2.setIconSize(QtCore.QSize(100, 100)) self.btn3 = QPushButton() self.btn3.setIcon(QtGui.QIcon(current_directory + '/images/three.png')) self.btn3.setIconSize(QtCore.QSize(100, 100)) self.btn1.setFixedSize(120, 120) self.btn2.setFixedSize(120, 120) self.btn3.setFixedSize(120, 120) self.layout.addWidget(self.btn1) self.layout.addWidget(self.btn2) self.layout.addWidget(self.btn3) self.layout.setSpacing(20) self.btn1.clicked.connect(button1) self.btn2.clicked.connect(button2) self.btn3.clicked.connect(button3)
def paintEvent(self, ev): painter = QtGui.QPainter(self) # calc bar offset y_offset = (self.height() - self._barHeight()) // 2 ## prevent negative offset y_offset = 0 if y_offset < 0 else y_offset # frame around fraction indicator painter.setBrush(self.palette().dark()) painter.save() ## no fill color b = painter.brush() b.setStyle(QtCore.Qt.NoBrush) painter.setBrush(b) painter.drawRect( QtCore.QRect( QtCore.QPoint(0, y_offset), QtCore.QSize(self._barWidth(), self._barHeight()), )) painter.restore() # fraction indicator painter.drawRect( QtCore.QRect( QtCore.QPoint(0, y_offset), QtCore.QSize(self._barWidth() * self._fraction, self._barHeight()), ))
def maximumLabelSize(self, p): width, height = 0, 0 for label in self.labels: b = p.boundingRect(QtCore.QRectF(0, 0, 0, 0), QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter, str(label)) width = max(b.width(), width) height = max(b.height(), height) self.labelsize = QtCore.QSize(width, height) return QtCore.QSize(width, height)
def reset_window(self, MainWindow): sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setMinimumSize(QtCore.QSize(0, 0)) MainWindow.setMaximumSize(QtCore.QSize(self.MAX_SIZE, self.MAX_SIZE))
def sizeHint(self): if self.orientation == 'vertical': if hasattr(self, 'hint'): return QtCore.QSize(self.hint.height(), self.hint.width()) else: return QtCore.QSize(19, 50) else: if hasattr(self, 'hint'): return QtCore.QSize(self.hint.width(), self.hint.height()) else: return QtCore.QSize(50, 19)
def setup_plot(self, plot, name): sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(plot.sizePolicy().hasHeightForWidth()) plot.setSizePolicy(sizePolicy) plot.setMinimumSize(QtCore.QSize(0, 0)) plot.setMaximumSize(QtCore.QSize(16777215, 16777215)) plot.setBaseSize(QtCore.QSize(0, 0)) plot.setAccessibleName(_fromUtf8("")) plot.setInteractive(True) plot.setObjectName(_fromUtf8(name))
def addParameters(self, param, root=None, depth=0, showTop=True): item = param.makeTreeItem(depth=depth) if root is None: root = self.invisibleRootItem() ## Hide top-level item if not showTop: item.setText(0, '') item.setSizeHint(0, QtCore.QSize(1, 1)) item.setSizeHint(1, QtCore.QSize(1, 1)) depth -= 1 root.addChild(item) item.treeWidgetChanged() for ch in param: self.addParameters(ch, root=item, depth=depth + 1)
def __init__(self, parent, gui_name, is_experiment=False): super(QtGui.QDialog, self).__init__(parent) self.parent = parent self.gui_name = gui_name self.generator_data = self.get_custom_gui_data(is_experiment) if self.generator_data: self.parent.print_to_log( f'\nLoading "{gui_name}" custom variable dialog') self.setWindowTitle("Set Variables") self.layout = QtGui.QVBoxLayout(self) toolBar = QtGui.QToolBar() toolBar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) toolBar.setIconSize(QtCore.QSize(15, 15)) self.layout.addWidget(toolBar) self.edit_action = QtGui.QAction(QtGui.QIcon("gui/icons/edit.svg"), "&edit", self) self.edit_action.setEnabled(True) if not is_experiment: toolBar.addAction(self.edit_action) self.edit_action.triggered.connect(self.edit) self.variables_grid = Custom_variables_grid( self, parent.board, self.generator_data) self.layout.addWidget(self.variables_grid) self.layout.setContentsMargins(0, 0, 0, 0) self.setLayout(self.layout) self.close_shortcut = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+W"), self) self.close_shortcut.activated.connect(self.close) self.using_custom_gui = True else: self.using_custom_gui = False
def iniBtns(self, I=range(2)): if not (self.useDocks): return self.Bbox = [None] * 2 self.Dock = dock() self.area.add(self.Dock, 'bottom') for i in I: self.Bbox[i] = self.Dock.addBbox() if i == 0: for j in range(8): self.Bbox[i].addButton() self.Bbox[i].setWidth(j, self.btnwidth) self.Bbox[i].setIconSize(j, QtCore.QSize(1, 1)) self.Bbox[i].Connect(0, self.toggleAccept0) self.Bbox[i].Connect(1, self.toggleAccept1) self.Bbox[i].Connect(2, self.toggleAccept2) self.Bbox[i].Connect(3, self.toggleAccept3) self.Bbox[i].Connect(4, self.toggleAccept4) self.Bbox[i].Connect(5, self.toggleAccept5) self.Bbox[i].Connect(6, self.toggleAccept6) self.Bbox[i].Connect(7, self.toggleAccept7) else: self.Bbox[i].addButton(QtGui.QDialogButtonBox.Cancel) self.Bbox[i].addButton(QtGui.QDialogButtonBox.Apply) self.Bbox[i].setWidth(0, self.btnWidth) self.Bbox[i].setWidth(1, self.btnWidth) self.Bbox[i].Connect(0, self.cancelClick) self.Bbox[i].Connect(1, self.applyClick)
def __init__(self, driver, parent): super(LaseWidget, self).__init__() self.data_path = parent.data_path self.img_path = parent.img_path self.opened = True self.frame_rate = 0 self.show_right_panel = True self.left_arrow = QtGui.QIcon( os.path.join(self.img_path, 'left_arrow.png')) self.right_arrow = QtGui.QIcon( os.path.join(self.img_path, 'right_arrow.png')) self.driver = driver # Initialize driver self.driver.set_dac() self.power_offset = self.driver.get_laser_power() # Layout self.init_layout() # Monitor widget self.monitor_widget = MonitorWidget(self.driver) # Plot widget # Laser Widget self.laser_widget = LaserWidget(self.driver) self.laser_box = QtGui.QGroupBox("Laser control") self.laser_box.setLayout(self.laser_widget.layout) # DAC Widgets self.dac_tabs = QtGui.QTabWidget() self.dac_wid = [] n_dac = 2 for i in range(n_dac): self.dac_wid.append(DacWidget(self.driver, index=i)) self.dac_wid[i].data_updated_signal.connect(self.update_dac) self.dac_tabs.addTab(self.dac_wid[i], "DAC " + str(i + 1)) self.left_panel_layout.addLayout(self.monitor_widget.layout) self.left_panel_layout.addWidget(self.laser_box) self.left_panel_layout.addWidget(self.dac_tabs) # Show/Hide button self.right_panel_button = QtGui.QPushButton() self.right_panel_button.setStyleSheet('QPushButton {color: green;}') self.right_panel_button.setIcon(self.right_arrow) self.right_panel_button.setIconSize(QtCore.QSize(30, 30)) self.right_panel = QtGui.QVBoxLayout() self.right_panel_widget = QtGui.QWidget() self.lay.addLayout(self.left_panel_layout, 1) self.lay.addWidget(self.right_panel_button) self.lay.addWidget(self.right_panel_widget) # Connections self.right_panel_button.clicked.connect(self.right_panel_connect)
def __init__(self, *args, **kwargs): super(DirectorySelectionWidget, self).__init__(*args, **kwargs) #construct file selection widget self.checkbox = QtGui.QCheckBox() self.lineedit = QtGui.QLineEdit() self.button = QtGui.QPushButton() ic = QtGui.QFileIconProvider().icon(5) #btn.setFixedSize(ic.actualSize(ic.availableSizes()[0])); ics = QtCore.QSize(20, 20) self.button.setFixedSize(ic.actualSize(ics)) self.button.setText("") self.button.setIcon(ic) self.button.setIconSize(ic.actualSize(ics)) self.button.clicked.connect(self.getDirectory) layout = QtGui.QHBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) layout.addWidget(self.checkbox) layout.addWidget(self.lineedit) layout.addWidget(self.button) self.setLayout(layout) self.lineedit.textChanged.connect(self.sigChanged.emit) self.checkbox.stateChanged.connect(self.sigChanged.emit)
def __init__(self, params_data, changed_params_data, *args, **kwargs): self.params_data = params_data self.params_data_show = list(self.params_data.keys()) self.changed_params_data = changed_params_data super().__init__(*args, **kwargs) self.resize(QtCore.QSize(500,500)) self.params_table = QtGui.QTableWidget() self.choose_item_lineEdit = QtGui.QLineEdit(self) self.choose_item_lineEdit.setPlaceholderText('filter by data name') self.choose_item_lineEdit.textChanged.connect(self.callback_filter) self.btn_changed_filter = QtGui.QPushButton('Changed') self.btn_changed_filter.clicked.connect(self.btn_changed_filter_clicked) w = QtGui.QWidget() self.vlayout = QtGui.QVBoxLayout(w) self.hlayout = QtGui.QHBoxLayout(self) self.setCentralWidget(w) self.centralWidget().setLayout(self.vlayout) self.vlayout.addWidget(self.params_table) self.vlayout.addLayout(self.hlayout) self.hlayout.addWidget(self.btn_changed_filter) self.hlayout.addWidget(self.choose_item_lineEdit) self.params_table.setEditTriggers(QtGui.QAbstractItemView.DoubleClicked | QtGui.QAbstractItemView.SelectedClicked) self.params_table.setSortingEnabled(False) self.params_table.horizontalHeader().setStretchLastSection(True) self.params_table.resizeColumnsToContents() self.params_table.setColumnCount(2) self.params_table.setColumnWidth(0, 120) self.params_table.setColumnWidth(1, 50) self.params_table.setHorizontalHeaderLabels(['Name', 'value']) self.show_all_params = True self.filtertext = '' self.update_table()
def __init__(self): super(MainWindow, self).__init__() self.fontType = QtGui.QFont(QtGui.QFont('consolas', 10)) self.buttonSize = QtCore.QSize(65, 40) self.audioFileNames = [] self.audioFilePlayingIndex = 0 self.audioFileCurrentChooseIndex = 0 self.samplingFrequency = 0 self.audioVec = 0 self.audioList = QtWidgets.QListWidget(self) self.audioPlayingFlag = False self.audioTimeChunkIndex = 0 self.audioPlayTimer = QtCore.QTimer() self.audioPlayTimer.timeout.connect(self.audio_player) self.timeDomainLabel = QtWidgets.QLabel(self) self.frequencyDomainLabel = QtWidgets.QLabel(self) self.browseButton = QtWidgets.QPushButton('Browse\nfile', self) self.playButton = QtWidgets.QPushButton('Play', self) self.stopButton = QtWidgets.QPushButton('Stop', self) self.audioTimeDomain = QtWidgets.QGraphicsView(self) self.audioFrequencyDomain = QtWidgets.QGraphicsView(self) self.init_main_window() self.init_buttons() self.init_lists() self.init_canvas() self.init_labels() self.init_drawer()
def __init__(self, name ='Value : ', step = 0.01, max_slider = None, alpha=1): self.name = name super(KoheronSlider, self).__init__() self.value = 0 self.step = step self.flag = True self.alpha = alpha # Label value = alpha * spin value self.max_slider = max_slider self.layout = QtGui.QHBoxLayout() self.label = QtGui.QLabel() self.label.setText(self.name) self.slider = QtGui.QSlider() self.slider.setMinimum(0) self.slider.setMaximum(self.max_slider/self.step) self.slider.setOrientation(QtCore.Qt.Horizontal) self.spin = QtGui.QDoubleSpinBox() self.spin.setRange(0,self.max_slider) self.spin.setSingleStep(self.step) self.spin.setFixedSize(QtCore.QSize(59, 26)) self.layout.addWidget(self.label) self.layout.addWidget(self.spin) self.layout.addWidget(self.slider) self.setLayout(self.layout) self.slider.valueChanged.connect(self.sliderChanged) self.spin.valueChanged.connect(self.spinChanged)
def show_settings(self): print("settings") self.settings_widget.show() self.settings_widget.resize(QtCore.QSize(500, 300)) self.settings_widget.move(self.window().frameGeometry().topLeft() + self.window().rect().center() - self.settings_widget.rect().center())
def __init__(self): super(TemplateBaseClass, self).__init__() # Create the main window self.ui = WindowTemplate() self.ui.setupUi(self) self.temp_layout = pg.GraphicsLayoutWidget() # file system tree self.fs_model = QtWidgets.QFileSystemModel() self.fs_model.setRootPath(QtCore.QDir.currentPath()) self.ui.treeView.setModel(self.fs_model) self.ui.treeView.setIconSize(QtCore.QSize(25, 25)) self.ui.treeView.setSortingEnabled(True) self.tree_selectionModel = self.ui.treeView.selectionModel() self.tree_selectionModel.selectionChanged.connect( self.on_treeview_selection_change) self.ui.comboBox.currentIndexChanged.connect( self.add_trace_to_temp_plot) self.ui.add_pushButton.clicked.connect(self.add_trace_to_mem) self.ui.export_pushButton.clicked.connect(self.pub_ready_plot_export) self.x_i = [] self.y_i = [] self.x_mem = [] self.y_mem = [] self.legend = [] self.show()
def null_resize(widget): '''Call a widgets resize event with its current size. Used when rows are added by user to tables to prevent mangling of the table layout.''' size = QtCore.QSize(widget.frameGeometry().width(), widget.frameGeometry().height()) resize = QtGui.QResizeEvent(size, size) widget.resizeEvent(resize)
def create_button(label, icon_type): """Create a button and set an icon to it.""" icon_types = { 'circle': ('circle.png', 16), 'cancel': ('gtk-cancel.png', 16), 'clear': ('clear-all.png', 16), 'detector': ('main_icon_64x64.png', 16), 'draw': ('system-run.png', 16), 'load': ('file.png', 16), 'log': ('log.png', 16), 'main': ('main_icon_64x64.png', 64), 'ok': ('gtk-ok.png', 16), 'quads': ('quads.png', 16), 'shapes': ('shapes.png', 16), 'rundir': ('open.png', 16), 'save': ('save.png', 16), 'square': ('square.png', 16) } icon_name, size = icon_types[icon_type] button = QtGui.QPushButton(label) button.setIcon(get_icon(icon_name)) button.setIconSize(QtCore.QSize(size, size)) return button
def __init__(self, title='null'): """ :param title: """ self.glview = gl.GLViewWidget() coord = gl.GLAxisItem() coord.setSize(1, 1, 1) # self.glview.addItem(coord) self.glview.setMinimumSize(QtCore.QSize(600, 500)) self.glview.pan(1, 0, 0) self.glview.setCameraPosition(azimuth=180) self.glview.setCameraPosition(elevation=0) self.glview.setCameraPosition(distance=5) self.items = [] self.view = QtGui.QWidget() self.view.window().setWindowTitle(title) hlayout = QtGui.QHBoxLayout() snap_btn = QtGui.QPushButton('&Snap') def take_snap(): qimg = self.glview.readQImage() qimg.save('1.jpg') snap_btn.clicked.connect(take_snap) hlayout.addWidget(snap_btn) hlayout.addStretch() layout = QtGui.QVBoxLayout() layout.addLayout(hlayout) layout.addWidget(self.glview) self.view.setLayout(layout)
def _initialize_boom_carpet(self): # Sets up the boom carpet widget # Add title self._boom_carpet_widget.addLabel("Boom Carpet", row=1, col=1, colspan=2, alignment=QtCore.Qt.AlignCenter) # Create radio buttons self._rb_base = QtGui.QRadioButton("Baseline") self._rb_base.setChecked(True) self._rb_opt = QtGui.QRadioButton("Optimum") self._rb_del = QtGui.QRadioButton("Delta") # Add to layout self._boom_carpet_widget.addWidget(self._rb_base, row=2, col=2) self._boom_carpet_widget.addWidget(self._rb_opt, row=3, col=2) self._boom_carpet_widget.addWidget(self._rb_del, row=4, col=2) # Create image self._boom_carpet_image = QtGui.QPixmap('image/boom_carpet.jpeg') self._carpet_image_label = self._boom_carpet_widget.addLabel(row=2, col=1, rowspan=3) self._boom_carpet_image = self._boom_carpet_image.scaled( QtCore.QSize(250, 250), QtCore.Qt.KeepAspectRatio) self._carpet_image_label.setPixmap(self._boom_carpet_image) self._carpet_image_label.show()
def __init__(self, param, depth): ParameterItem.__init__(self, param, depth) if depth == 0: for c in [0, 1]: self.setBackground(c, QtGui.QBrush(QtGui.QColor(100, 100, 100))) self.setForeground(c, QtGui.QBrush(QtGui.QColor(220, 220, 255))) font = self.font(c) font.setBold(True) font.setPointSize(font.pointSize() + 1) self.setFont(c, font) self.setSizeHint(0, QtCore.QSize(0, 25)) else: for c in [0, 1]: self.setBackground(c, QtGui.QBrush(QtGui.QColor(220, 220, 220))) font = self.font(c) font.setBold(True) #font.setPointSize(font.pointSize()+1) self.setFont(c, font) self.setSizeHint(0, QtCore.QSize(0, 20)) self.addItem = None if 'addText' in param.opts: addText = param.opts['addText'] if 'addList' in param.opts: self.addWidget = QtGui.QComboBox() self.addWidget.addItem(addText) for t in param.opts['addList']: self.addWidget.addItem(t) self.addWidget.currentIndexChanged.connect(self.addChanged) else: self.addWidget = QtGui.QPushButton(addText) self.addWidget.clicked.connect(self.addClicked) w = QtGui.QWidget() l = QtGui.QHBoxLayout() l.setContentsMargins(0, 0, 0, 0) w.setLayout(l) l.addWidget(self.addWidget) l.addItem( QtGui.QSpacerItem(200, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)) self.addWidgetBox = w self.addItem = QtGui.QTreeWidgetItem([]) self.addItem.setFlags(QtCore.Qt.ItemIsEnabled) ParameterItem.addChild(self, self.addItem)
def addButton(self, *args, **kwds): if not(len(args)): self.Buttons.append(BaseBboxClass.addButton(self, QtGui.QDialogButtonBox.Apply, **kwds)) self.Buttons[-1].setIconSize(QtCore.QSize(1, 1)) self.Buttons[-1].setText("") else: self.Buttons.append(BaseBboxClass.addButton(self, *args, **kwds)) return self.Buttons[-1]
def myGetQTableWidgetSize(t): w = t.verticalHeader().width() + 4 # +4 seems to be needed for i in range(t.columnCount()): w += t.columnWidth(i) # seems to include gridline (on my machine) h = t.horizontalHeader().height() + 4 for i in range(t.rowCount()): h += t.rowHeight(i) return QtCore.QSize(w, h)
def set_size(self, widget): sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(widget.sizePolicy().hasHeightForWidth()) widget.setSizePolicy(sizePolicy) widget.setMinimumSize(QtCore.QSize(0, 0))
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setMinimumWidth(250) self.buttMinimumSize = QtCore.QSize(36, 36) self.iconSize = QtCore.QSize(24, 24) self.icons = self.parent().icons self.setupImageToolbox() self.setupRoiToolbox() sidePanelLayout = QtGui.QVBoxLayout() sidePanelLayout.addWidget(self.imageToolbox) sidePanelLayout.addWidget(self.roiToolbox) sidePanelLayout.setContentsMargins(0, 0, 0, 0) self.setLayout(sidePanelLayout)
def size(self): if is_cv2(): h = int(self.camera.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)) w = int(self.camera.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)) else: h = int(self.camera.get(cv2.CAP_PROP_FRAME_HEIGHT)) w = int(self.camera.get(cv2.CAP_PROP_FRAME_WIDTH)) return QtCore.QSize(w, h)
def sizeHint(self): # based on http://stackoverflow.com/a/7195443/54056 width = sum(self.columnWidth(i) for i in range(self.columnCount())) width += self.verticalHeader().sizeHint().width() width += self.verticalScrollBar().sizeHint().width() width += self.frameWidth() * 2 height = sum(self.rowHeight(i) for i in range(self.rowCount())) height += self.verticalHeader().sizeHint().height() height += self.horizontalScrollBar().sizeHint().height() return QtCore.QSize(width, height)
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.verticalLayout = QtWidgets.QVBoxLayout(Form) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.paramFrame = QtWidgets.QFrame(Form) self.paramFrame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.paramFrame.setFrameShadow(QtWidgets.QFrame.Raised) self.paramFrame.setObjectName("paramFrame") self.verticalLayout.addWidget(self.paramFrame) self.specLabel = QtWidgets.QLabel(Form) self.specLabel.setMaximumSize(QtCore.QSize(16777215, 40)) self.specLabel.setText("") self.specLabel.setObjectName("specLabel") self.verticalLayout.addWidget(self.specLabel) self.commandFrame = QtWidgets.QFrame(Form) self.commandFrame.setMaximumSize(QtCore.QSize(16777215, 40)) self.commandFrame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.commandFrame.setFrameShadow(QtWidgets.QFrame.Raised) self.commandFrame.setObjectName("commandFrame") self.commandLayout = QtWidgets.QHBoxLayout(self.commandFrame) self.commandLayout.setObjectName("commandLayout") self.verticalLayout.addWidget(self.commandFrame) self.frame = QtWidgets.QFrame(Form) self.frame.setMaximumSize(QtCore.QSize(16777215, 40)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.startButton = QtWidgets.QPushButton(self.frame) self.startButton.setObjectName("startButton") self.horizontalLayout.addWidget(self.startButton) self.stopButton = QtWidgets.QPushButton(self.frame) self.stopButton.setObjectName("stopButton") self.horizontalLayout.addWidget(self.stopButton) self.verticalLayout.addWidget(self.frame) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def getQTableWidgetSize(self, table): w = table.verticalHeader().width() + 4 # +4 seems to be needed for i in range(table.columnCount()): w += table.columnWidth( i) # seems to include gridline (on my machine) h = table.horizontalHeader().height() + 4 for i in range(table.rowCount()): h += table.rowHeight(i) return QtCore.QSize(w + 2.0 * self.UILayout.contentsMargins().left(), h)
def updateDepth(self, depth): ## Change item's appearance based on its depth in the tree ## This allows highest-level groups to be displayed more prominently. if depth == 0: for c in [0,1]: self.setBackground(c, QtGui.QBrush(QtGui.QColor(100,100,100))) self.setForeground(c, QtGui.QBrush(QtGui.QColor(220,220,255))) font = self.font(c) font.setBold(True) font.setPointSize(font.pointSize()+1) self.setFont(c, font) self.setSizeHint(0, QtCore.QSize(0, 25)) else: for c in [0,1]: self.setBackground(c, QtGui.QBrush(QtGui.QColor(220,220,220))) font = self.font(c) font.setBold(True) #font.setPointSize(font.pointSize()+1) self.setFont(c, font) self.setSizeHint(0, QtCore.QSize(0, 20))