def _build_table_elements(self, parent): ''' Create the various elements in the table and add them to the proper layout. ''' self.setWindowTitle('Scene Panel') layout = QtWidgets.QVBoxLayout(self) self.setLayout(layout) top_layout = QtWidgets.QGridLayout() layout.addLayout(top_layout) mid_layout = QtWidgets.QGridLayout() layout.addLayout(mid_layout) low_layout = QtWidgets.QGridLayout() layout.addLayout(low_layout) # Top Elements self.instructionLabel = QtWidgets.QLabel(self) self.instructionLabel.setText( 'Double click selected thumbnail to \nload into Workspace.') top_layout.addWidget(self.instructionLabel, 0, 0) self.addSceneButton = QtWidgets.QPushButton(self) self.addSceneButton.setText('Add Scene') top_layout.addWidget(self.addSceneButton, 0, 1) # Mid Elements self.sceneTableWidget = QtWidgets.QTableWidget(self) mid_layout.addWidget(self.sceneTableWidget, 0, 0) self.sceneTableWidget.viewport().installEventFilter(self) self.sceneTableWidget.itemChanged.connect(self._item_changed) self.sceneTableWidget.selectionModel().selectionChanged.connect( self._selection_changed) self.sceneTableWidget.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectRows) self.sceneTableWidget.verticalHeader().setSectionsMovable(True) # Lower Buttom Elements self.deleteButton = QtWidgets.QPushButton(self) self.deleteButton.setText("Delete Scene") low_layout.addWidget(self.deleteButton, 0, 1) self.deleteButton.setEnabled(False) self.updateButton = QtWidgets.QPushButton(self) self.updateButton.setText("Update Scene") low_layout.addWidget(self.updateButton, 0, 0) self.updateButton.setEnabled(False)
def show_plugin_info_dialog(self, info): dialog = QtWidgets.QDialog(None) dialog.setWindowTitle('Plugin Information') layout = QtWidgets.QVBoxLayout() table = QtWidgets.QTableWidget(0, 2) table.verticalHeader().hide() table.horizontalHeader().hide() table.horizontalHeader().setStretchLastSection(True) layout.addWidget(table) dialog.setLayout(layout) def add_line(label, text): row = table.rowCount() table.insertRow(table.rowCount()) table_item = QtWidgets.QTableWidgetItem(label) table_item.setFlags(table_item.flags() & ~(Qt.ItemIsEditable)) table.setItem(row, 0, table_item) table_item = QtWidgets.QTableWidgetItem(text) table_item.setFlags(table_item.flags() & ~(Qt.ItemIsEditable)) table.setItem(row, 1, table_item) add_line('Name', info.name) if not info.is_temporary: add_line('Python Module Name', info.mod_name) add_line('Filename', info.filename) metadata = info.get_metadata() for label, value in metadata.items(): add_line(label, value) if not info.is_temporary: if info.loaded: add_line('commands', ', '.join(info.commands)) docstring = info.get_docstring() or 'No documentation available.' browser = QtWidgets.QTextBrowser() browser.setPlainText(docstring) layout.addWidget(browser) table.resizeColumnsToContents() dialog.resize(600, dialog.height()) dialog.exec_()
def setupUi(self, UpdateDialog): UpdateDialog.setObjectName("UpdateDialog") UpdateDialog.resize(950, 470) self.verticalLayout = QtWidgets.QVBoxLayout(UpdateDialog) self.verticalLayout.setObjectName("verticalLayout") self.select_comp_label = QtWidgets.QLabel(UpdateDialog) self.select_comp_label.setObjectName("select_comp_label") self.verticalLayout.addWidget(self.select_comp_label) self.components_tableWidget = QtWidgets.QTableWidget(UpdateDialog) default_font = QtGui.QFont() default_font.setPointSize(default_font.pointSize()-1) self.components_tableWidget.setFont(default_font) self.components_tableWidget.setProperty("showDropIndicator", False) self.components_tableWidget.setDragDropOverwriteMode(False) self.components_tableWidget.setAlternatingRowColors(True) self.components_tableWidget.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) self.components_tableWidget.setGridStyle(QtCore.Qt.NoPen) self.components_tableWidget.setColumnCount(self.n_cols) self.components_tableWidget.setObjectName("components_tableWidget") self.components_tableWidget.setRowCount(1) vertical_header_item = QtWidgets.QTableWidgetItem() self.components_tableWidget.setVerticalHeaderItem(0, vertical_header_item) for i in range(self.n_cols): item = QtWidgets.QTableWidgetItem() self.components_tableWidget.setHorizontalHeaderItem(i, item) item = QtWidgets.QTableWidgetItem() self.components_tableWidget.setItem(0, self.component_col_idx, item) item = QtWidgets.QTableWidgetItem() self.components_tableWidget.setItem(0, self.databases_col_idx, item) self.components_tableWidget.horizontalHeader().setVisible(True) self.components_tableWidget.horizontalHeader().setCascadingSectionResizes(False) self.components_tableWidget.setColumnWidth(self.component_col_idx, 210) self.components_tableWidget.setColumnWidth(self.databases_col_idx, 180) self.components_tableWidget.setColumnWidth(self.status_col_idx, 190) # self.components_tableWidget.setColumnWidth(self.source_col_idx, 390) # self.components_tableWidget.setColumnWidth(self.last_download_col_idx, 250) self.components_tableWidget.horizontalHeader().setStretchLastSection(True) self.components_tableWidget.verticalHeader().setVisible(False) self.components_tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) self.verticalLayout.addWidget(self.components_tableWidget) self.statusLabel = QtWidgets.QLabel(UpdateDialog) self.statusLabel.setObjectName("statusLabel") self.verticalLayout.addWidget(self.statusLabel) self.installation_progressBar = QtWidgets.QProgressBar(UpdateDialog) self.installation_progressBar.setEnabled(True) self.installation_progressBar.setProperty("value", 10) self.installation_progressBar.setObjectName("installation_progressBar") self.verticalLayout.addWidget(self.installation_progressBar) self.buttonsHorizontalLayout = QtWidgets.QHBoxLayout() self.buttonsHorizontalLayout.setObjectName("buttonsHorizontalLayout") self.installSel_button = QtWidgets.QPushButton(UpdateDialog) self.installSel_button.setObjectName("installSel_button") self.buttonsHorizontalLayout.addWidget(self.installSel_button) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.buttonsHorizontalLayout.addItem(spacerItem) self.cancel_button = QtWidgets.QPushButton(UpdateDialog) self.cancel_button.setObjectName("cancel_button") self.buttonsHorizontalLayout.addWidget(self.cancel_button) self.verticalLayout.addLayout(self.buttonsHorizontalLayout) UpdateDialog.setWindowTitle("Install and update databases") self.select_comp_label.setText("Select components to install or update") self.components_tableWidget.setSortingEnabled(True) self.components_tableWidget.horizontalHeaderItem(self.component_col_idx).setText("Component") self.components_tableWidget.horizontalHeaderItem(self.databases_col_idx).setText("Databases Names") self.components_tableWidget.horizontalHeaderItem(self.status_col_idx).setText("Status") self.components_tableWidget.horizontalHeaderItem(self.source_col_idx).setText("Source") self.components_tableWidget.horizontalHeaderItem(self.last_download_col_idx).setText("Last Downloaded") __sortingEnabled = self.components_tableWidget.isSortingEnabled() self.components_tableWidget.setSortingEnabled(False) self.components_tableWidget.setSortingEnabled(__sortingEnabled) self.statusLabel.setText("") self.cancel_button.setText("Cancel") self.installSel_button.setText("Install Selected") QtCore.QMetaObject.connectSlotsByName(UpdateDialog)