def __init__(self, rows, columns, parent): """Table with Context Menu event handling""" QTableWidget.__init__(self, rows, columns) self.mainWindow = parent self.menu = QMenu(self) self.addOutlierAction = self.menu.addAction("Add to outliers") self.sendAction = self.menu.addAction("Send Message")
def __init__(self, parent=None): # ------------------------------------------------------------------------------------- # Constructor super(FormTable, self).__init__(parent) self.setWindowTitle('Section Table') oLayout = QVBoxLayout() self.TableWidget = QTableWidget() self.BtnSave = QPushButton('Save', self) self.BtnCancel = QPushButton('Cancel', self) # Define layout oLayout.addWidget(self.TableWidget) oLayout.addWidget(self.BtnSave) oLayout.addWidget(self.BtnCancel) # Set layout self.setLayout(oLayout) self.oLayout = oLayout # Define action(s) self.BtnSave.pressed.connect(self.saveTable) self.BtnCancel.pressed.connect(self.cancelTable) # Show widget self.show()
def __init__(self, parent = None): QTableWidget.__init__(self, parent) # init # ------------------------------------------------ #FIXME: move this somewhere else maybe? self.tmpSelectedItems = [] #FIXME: what does this do? put a comment, why 30,30? self._sigmaList = None self._featureGroupMapping = None # Schema: [ (groupName1, [entry, entry...]), # (groupName2, [entry, entry...]) ] #layout # ------------------------------------------------ self.setCornerButtonEnabled(False) self.setEditTriggers(QAbstractItemView.NoEditTriggers) self.setSelectionMode(QAbstractItemView.NoSelection) self.setShowGrid(False) self.viewport().installEventFilter(self) self.setMouseTracking(1) self.verticalHeader().setHighlightSections(False) self.verticalHeader().setClickable(True) self.horizontalHeader().setHighlightSections(False) self.horizontalHeader().setClickable(True) self.horizontalHeader().setMouseTracking(True) self.horizontalHeader().installEventFilter(self) self.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.verticalHeader().setResizeMode(QHeaderView.ResizeToContents) self.itemSelectionChanged.connect(self._tableItemSelectionChanged) self.cellDoubleClicked.connect(self._featureTableItemDoubleClicked) self.verticalHeader().sectionClicked.connect(self._expandOrCollapseVHeader)
def clear(self): """ Clear the table and set the header label. """ QTableWidget.clear(self) self.setRowCount(0) self.setColumnCount(2) self.setHorizontalHeaderLabels(['Property', 'Value'])
def __init__(self, parent=None, datalist=None, mode='r'): super(SimpleListDlg, self).__init__(parent) self.tbl = QTableWidget() self.mode = mode # read only or write 'r'/'w' self.values = [] if datalist is not None: data = datalist.toList() self.tbl.setRowCount(len(data)) self.tbl.setColumnCount(1) for i, val in enumerate(data): #print i, val.toFloat() self.values.append(val.toFloat()[0]) it = QTableWidgetItem("%g" % val.toFloat()[0]) if self.mode == 'r': it.setFlags(it.flags() & ~Qt.ItemIsEditable) self.tbl.setItem(i, 0, it) buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) layout = QVBoxLayout() layout.addWidget(self.tbl) layout.addWidget(buttonBox) self.setLayout(layout) self.connect(buttonBox, SIGNAL("accepted()"), self.accept) self.connect(buttonBox, SIGNAL("rejected()"), self.reject)
def _init_ui(self, to_run_on_table_clicked): # Create record table - lists all the records in the store self._table = QTableWidget() self._table.setFixedWidth(440) self._table.setFixedHeight(600) self._table.setColumnCount(len(self.COLUMNS)) self._table.setHorizontalHeaderLabels(self.COLUMNS) self._table.setColumnWidth(0, 70) self._table.setColumnWidth(1, 55) self._table.setColumnWidth(2, 85) self._table.setColumnWidth(3, 70) self._table.setColumnWidth(4, 45) self._table.setColumnWidth(5, 50) self._table.setColumnWidth(6, 45) self._table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self._table.cellPressed.connect(to_run_on_table_clicked) self._table.cellPressed.connect(self._record_selected) # Delete button - deletes selected records btn_delete = QtGui.QPushButton('Delete') btn_delete.setToolTip('Delete selected scan/s') btn_delete.resize(btn_delete.sizeHint()) btn_delete.clicked.connect(self._delete_selected_records) hbox = QHBoxLayout() hbox.setSpacing(10) hbox.addWidget(btn_delete) hbox.addStretch(1) vbox = QVBoxLayout() vbox.addWidget(self._table) vbox.addLayout(hbox) self.setLayout(vbox)
def __init__(self, parent=None): super(MainForm, self).__init__(parent) self.words_to_be_learned_llist = [] self.words2sentence_list = [] self.files_table = QTableWidget() self.files_paths_list = [] self.refresh_files_table() self.files_Button = QPushButton(u"添加文章") self.zhong_kao_CheckBox = QCheckBox(u"中考词汇") self.gao_kao_CheckBox = QCheckBox(u"高考词汇") self.analysis_Button = QPushButton(u"分析") self.files_layout = QHBoxLayout() self.files_layout.addWidget(self.files_table) self.files_layout.addWidget(self.files_Button) self.a_g_layout = QHBoxLayout() self.a_g_layout.addWidget(self.zhong_kao_CheckBox) self.a_g_layout.addWidget(self.gao_kao_CheckBox) self.a_g_layout.addWidget(self.analysis_Button) # self.a_g_layout.addWidget(self.generate_Button) self.layout = QVBoxLayout() self.layout.addLayout(self.files_layout) self.layout.addLayout(self.a_g_layout) self.setLayout(self.layout) self.setWindowTitle(u"外文阅读工具") self.connect(self.files_Button, SIGNAL("clicked()"), self.addFiles) self.connect(self.analysis_Button, SIGNAL("clicked()"), self.analysis)
def setSnapshotTabWindow(self, eventNames, eventTs, eventIds): tabWidget = None isNew = True for i in range(len(eventIds)): if self.tabWindowDict.has_key(eventIds[i]): tabWidget = self.tabWindowDict[eventIds[i]] else: tabWidget = QTableWidget() self.tabWindowDict[eventIds[i]] = tabWidget QObject.connect(tabWidget, SIGNAL(_fromUtf8("cellDoubleClicked (int,int)")), self.__showArrayData) data = self.retrieveMasarData(eventid=eventIds[i]) if data: if isNew: for j in range(self.snapshotTabWidget.count(), 0, -1): self.snapshotTabWidget.removeTab(j) self.pv4cDict.clear() self.data4eid.clear() self.arrayData.clear() isNew = False tabWidget.clear() self.setSnapshotTable(data, tabWidget, eventIds[i]) tabWidget.resizeColumnsToContents() ts = eventTs[i].split('.')[0] label = QString.fromUtf8((eventNames[i]+': ' + ts)) self.snapshotTabWidget.addTab(tabWidget, label) self.snapshotTabWidget.setTabText(i+1, label) self.pv4cDict[str(eventIds[i])] = data['PV Name'] self.data4eid[str(eventIds[i])] = data self.snapshotTabWidget.setCurrentIndex(1)
def __init__(self, parent, available): QWidget.__init__(self, parent) self._parent = parent self._available = available vbox = QVBoxLayout(self) self._table = QTableWidget(1, 2) self._table.setSelectionMode(QTableWidget.SingleSelection) self._table.removeRow(0) vbox.addWidget(self._table) ui_tools.load_table(self._table, (self.tr('Name'), self.tr('Version')), _format_for_table(available)) self._table.setColumnWidth(0, 500) hbox = QHBoxLayout() btnInstall = QPushButton(self.tr('Install')) btnInstall.setMaximumWidth(100) hbox.addWidget(btnInstall) hbox.addWidget( QLabel( self.tr("NINJA needs to be restarted for " "changes to take effect."))) vbox.addLayout(hbox) self.connect(btnInstall, SIGNAL("clicked()"), self._install_plugins) self.connect(self._table, SIGNAL("itemSelectionChanged()"), self._show_item_description)
def __init__(self, parent): QTableWidget.__init__(self, parent=parent) self._data = [] self.hheaders = [] # horizontal headers self.vheaders = [] # vertical headers self._display_total = False self._column_totals = {} self._total_label = u"TOTAL" self.stretch_columns = [] self.display_hheaders = True self.display_vheaders = True self.align_map = {} self.display_fixed = False self.live_refresh = True self.sorter = False self.setEditTriggers(QAbstractItemView.NoEditTriggers) self.horizontalHeader().setStretchLastSection(True) self.cellClicked.connect(self.click_item) self.verticalHeader().setVisible(False) self.setSelectionBehavior(QAbstractItemView.SelectRows) # style au tr self.setStyleSheet("color: #2C2C2C;") self.setAlternatingRowColors(True) self.setAutoScroll(True) self.wc = self.width() self.hc = self.height()
def _init_ui(self): # Create record table - lists all the records in the store self._table = QTableWidget() # Create barcode table - lists all the barcodes in a record self._table = QtGui.QTableWidget() self._table.setFixedWidth(110) self._table.setFixedHeight(600) self._table.setColumnCount(1) self._table.setRowCount(10) self._table.setHorizontalHeaderLabels(['Barcode']) self._table.setColumnWidth(0, 100) # Clipboard button - copy the selected barcodes to the clipboard self._btn_clipboard = QtGui.QPushButton('Copy To Clipboard') self._btn_clipboard.setToolTip( 'Copy barcodes for the selected record to the clipboard') self._btn_clipboard.resize(self._btn_clipboard.sizeHint()) self._btn_clipboard.clicked.connect(self.copy_selected_to_clipboard) self._btn_clipboard.setEnabled(False) hbox = QHBoxLayout() hbox.setSpacing(10) hbox.addWidget(self._btn_clipboard) hbox.addStretch(1) vbox = QVBoxLayout() vbox.addWidget(self._table) vbox.addLayout(hbox) self.setLayout(vbox)
class UpdatesWidget(QWidget): """ This widget show the availables plugins to update """ def __init__(self, parent, updates): QWidget.__init__(self, parent) self._parent = parent self._updates = updates vbox = QVBoxLayout(self) self._table = QTableWidget(1, 5) self._table.removeRow(0) self._headers = ('Name', 'Version', 'Description', 'Authors', 'Web') vbox.addWidget(self._table) ui_tools.load_table(self._table, self._headers, _format_for_table(updates)) self._table.setColumnWidth(0, 200) btnUpdate = QPushButton(self.tr("Update")) btnUpdate.setMaximumWidth(100) vbox.addWidget(btnUpdate) self.connect(btnUpdate, SIGNAL("clicked()"), self._update_plugins) def _update_plugins(self): data = _format_for_table(self._updates) plugins = ui_tools.remove_get_selected_items(self._table, data) #get the download link of each plugin for p_row in plugins: #search the plugin for p_dict in self._updates: if unicode(p_dict["name"]) == unicode(p_row[0]): p_data = p_dict break #append the downlod link p_row.append(p_data["download"]) self._parent.update_plugin(plugins)
class UpdatesWidget(QWidget): """ This widget show the availables plugins to update """ def __init__(self, parent, updates): QWidget.__init__(self, parent) self._parent = parent self._updates = updates vbox = QVBoxLayout(self) self._table = QTableWidget(1, 5) self._table.removeRow(0) self._headers = ("Name", "Version", "Description", "Authors", "Web") vbox.addWidget(self._table) ui_tools.load_table(self._table, self._headers, _format_for_table(updates)) self._table.setColumnWidth(0, 200) btnUpdate = QPushButton(self.tr("Update")) btnUpdate.setMaximumWidth(100) vbox.addWidget(btnUpdate) self.connect(btnUpdate, SIGNAL("clicked()"), self._update_plugins) def _update_plugins(self): data = _format_for_table(self._updates) plugins = ui_tools.remove_get_selected_items(self._table, data) # get the download link of each plugin for p_row in plugins: # search the plugin for p_dict in self._updates: if unicode(p_dict["name"]) == unicode(p_row[0]): p_data = p_dict break # append the downlod link p_row.append(p_data["download"]) self._parent.update_plugin(plugins)
class InstalledWidget(QWidget): def __init__(self, parent, installed): QWidget.__init__(self) self._parent = parent self._installed = installed vbox = QVBoxLayout(self) self._table = QTableWidget(1, 3) self._table.removeRow(0) vbox.addWidget(self._table) set_data(self._installed, self._table) btnUninstall = QPushButton('Uninstall') btnUninstall.setMaximumWidth(100) vbox.addWidget(btnUninstall) self.connect(btnUninstall, SIGNAL("clicked()"), self._uninstall_plugins) def add_table_items(self, plugs): self._installed += plugs set_data(self._installed, self._table) def _uninstall_plugins(self): rows = self._table.rowCount() pos = rows - 1 for i in xrange(rows): if self._table.item(pos-i, 0) is not None and \ self._table.item(pos-i, 0).checkState() == Qt.Checked: self._parent.mark_as_available(self._installed.pop(pos-i)) self._table.removeRow(pos-i) def reset_table(self, installed): self._installed = installed while self._table.rowCount() > 0: self._table.removeRow(0) set_data(self._installed, self._table)
def __init__(self, parent, configuration): QTableWidget.__init__(self, 5, 1, parent) self._configuration = configuration self._manual_change = True self.setVerticalHeaderLabels( ["Duration (cycles)", "Duration (ms)", "Cycles / ms", 'RAM access time', 'Execution Time Model']) self.horizontalHeader().setStretchLastSection(True) self.horizontalHeader().hide() self.setItem(0, 0, QTableWidgetItem(str(configuration.duration))) self.setItem(1, 0, QTableWidgetItem(str( float(configuration.duration) / configuration.cycles_per_ms))) self.setItem(2, 0, QTableWidgetItem(str(configuration.cycles_per_ms))) self.setItem( 3, 0, QTableWidgetItem(str(configuration.memory_access_time))) item = QComboBox(self) selected = 0 for i, (etm_name, etm_code) in \ enumerate(execution_time_model_names.items()): item.addItem(etm_name) if etm_code == configuration.etm: selected = i item.setCurrentIndex(selected) self.setCellWidget(4, 0, item) def activation_handler(x): configuration.etm = execution_time_model_names[str(x)] configuration.conf_changed() item.activated['QString'].connect(activation_handler) # self._update_observe_window() self.cellChanged.connect(self._cell_changed)
def __init__(self, parent, available): QWidget.__init__(self) self._parent = parent self._available = available vbox = QVBoxLayout(self) self._table = QTableWidget(1, 3) self._table.removeRow(0) vbox.addWidget(self._table) set_data(available, self._table) btnInstall = QPushButton('Install') btnInstall.setMaximumWidth(100) vbox.addWidget(btnInstall) hbox = QHBoxLayout() hbox.addWidget(QLabel('Add an external Plugin. URL Zip File:')) self.link = QLineEdit() hbox.addWidget(self.link) btnAdd = QPushButton('Add') hbox.addWidget(btnAdd) vbox.addLayout(hbox) lblExternalPlugin = QLabel('(Write the URL of the Plugin and press "Add")') lblExternalPlugin.setAlignment(Qt.AlignRight) vbox.addWidget(lblExternalPlugin) self.connect(btnInstall, SIGNAL("clicked()"), self._install_plugins) self.connect(btnAdd, SIGNAL("clicked()"), self._install_external)
def setupUi(self): self.resize(568, 411) self.setWindowIcon(QIcon(':/icon/layer_icon')) self.setWindowTitle("Edit Markers") self.gridLayout = QGridLayout(self) # table widget self.tableWidget = QTableWidget(self) self.tableWidget.setColumnCount(4) self.tableWidget.setRowCount(0) self.tableWidget.setHorizontalHeaderItem(0, QTableWidgetItem("Name")) self.tableWidget.setHorizontalHeaderItem(1, QTableWidgetItem("TVD (m)")) self.tableWidget.setHorizontalHeaderItem(2, QTableWidgetItem("TVDSS (m)")) self.tableWidget.setHorizontalHeaderItem(3, QTableWidgetItem("Color")) self.gridLayout.addWidget(self.tableWidget, 0, 0, 1, 1) # button box self.button_box = QDialogButtonBox(self) self.export_Button = self.button_box.addButton( "Export", QDialogButtonBox.ResetRole) self.import_Button = self.button_box.addButton( "Import", QDialogButtonBox.ResetRole) self.add_Button = self.button_box.addButton("Add", QDialogButtonBox.ResetRole) self.del_Button = self.button_box.addButton("Del", QDialogButtonBox.ResetRole) self.button_box.setStandardButtons(QDialogButtonBox.Save | QDialogButtonBox.Cancel) self.gridLayout.addWidget(self.button_box, 1, 0, 1, 1)
def gTable(self): self.gtable = QTableWidget() self.gtable.setColumnCount(1) self.gtable.setRowCount(len(self.tables.tablesIdWriteMap)) self.gtable.setHorizontalHeaderItem( 0, QTableWidgetItem(QString("version"))) self.hlayout.addWidget(self.gtable) self.sigMapper = QSignalMapper(self) for id in self.tables.tablesIdWriteMap: wlist = self.tables.tablesIdWriteMap[id] cbox = QComboBox(self.gtable) self.connect(cbox, SIGNAL("activated(QString)"), self.sigMapper, SLOT("map()")) self.sigMapper.setMapping(cbox, id) l = [] for write in wlist: l.append(write) l.sort() l.reverse() for write in l: cbox.addItem(QString(hex(write))) self.gtable.setCellWidget(id, 0, cbox) self.gtable.setVerticalHeaderItem( id, QTableWidgetItem(QString(hex(id)))) self.connect(self.sigMapper, SIGNAL("mapped(int)"), self.viewTableUpdate) self.gtable.setMaximumWidth( self.gtable.columnWidth(0) + self.gtable.verticalHeader().sectionSize(0) + 30)
def __init__(self, *args): QTableWidget.__init__(self, *args) self.setData() self.setRowHeight(0, 29) self.setRowHeight(1, 29) self.setRowHeight(2, 30) self.setRowHeight(3, 30) self.setColumnWidth(0, 30) self.setColumnWidth(1, 100) self.setColumnWidth(2, 50) self.setColumnWidth(3, 30) self.setColumnWidth(4, 100) self.setColumnWidth(5, 50) self.setColumnWidth(6, 30) self.setColumnWidth(7, 94) headerVert = self.verticalHeader() headerVert.setVisible(False) headerVert.setResizeMode(QtGui.QHeaderView.Stretch) headerHoriz = self.horizontalHeader() headerHoriz.setVisible(False) headerHoriz.setResizeMode(QtGui.QHeaderView.Stretch) self.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.setMouseTracking(True) self.edited_location = None self.cellDoubleClicked.connect(self.set_edited_location) self.itemChanged.connect(self.update_internal_registers)
def __init__(self, rows, cols, parent = None): super(SpreadSheet, self).__init__(parent) self.toolBar = QToolBar() self.addToolBar(self.toolBar) self.formulaInput = QLineEdit() self.cellLabel = QLabel(self.toolBar) self.cellLabel.setMinimumSize(80, 0) self.toolBar.addWidget(self.cellLabel) self.toolBar.addWidget(self.formulaInput) self.table = QTableWidget(rows, cols, self) for c in range(cols): character = chr(ord('A') + c) self.table.setHorizontalHeaderItem(c, QTableWidgetItem(character)) self.table.setItemPrototype(self.table.item(rows - 1, cols - 1)) self.table.setItemDelegate(SpreadSheetDelegate(self)) self.createActions() self.updateColor(0) self.setupMenuBar() self.setupContents() self.setupContextMenu() self.setCentralWidget(self.table) self.statusBar() self.table.currentItemChanged.connect(self.updateStatus) self.table.currentItemChanged.connect(self.updateColor) self.table.currentItemChanged.connect(self.updateLineEdit) self.table.itemChanged.connect(self.updateStatus) self.formulaInput.returnPressed.connect(self.returnPressed) self.table.itemChanged.connect(self.updateLineEdit) self.setWindowTitle("Spreadsheet")
def __init__(self, emails, types, parent): self.emails, self.types = emails, types QDialog.__init__(self, parent) self.resize(560, 350) self.gridLayout = QGridLayout(self) self.tableWidget = QTableWidget(0, 2, self) self.tableWidget.setAlternatingRowColors(True) self.tableWidget.setSelectionBehavior(1) # Rows self.tableWidget.setSelectionMode(1) # Single self.tableWidget.horizontalHeader().setResizeMode(0, 1) # 1 = Stretch self.tableWidget.setHorizontalHeaderLabels(['Email', 'Type']) self.addBtn = QPushButton('+', self) self.removeBtn = QPushButton('-', self) self.closeBtn = QPushButton('Close', self) self.spacer = QWidget(self) self.spacer.setSizePolicy(1 | 2 | 4, 1 | 4) self.gridLayout.addWidget(self.tableWidget, 0, 0, 1, 4) self.gridLayout.addWidget(self.addBtn, 1, 0, 1, 1) self.gridLayout.addWidget(self.removeBtn, 1, 1, 1, 1) self.gridLayout.addWidget(self.spacer, 1, 2, 1, 1) self.gridLayout.addWidget(self.closeBtn, 1, 3, 1, 1) self.addBtn.clicked.connect(self.addAccount) self.removeBtn.clicked.connect(self.removeAccount) self.closeBtn.clicked.connect(self.accept) for i in range(len(self.emails)): self.tableWidget.insertRow(i) self.tableWidget.setItem(i, 0, QTableWidgetItem(emails[i])) self.tableWidget.setItem(i, 1, QTableWidgetItem(types[i]))
def mousePressEvent(self, e): index = self.indexAt(e.pos()) if index.isValid(): item = self.itemAt(e.pos()) if e.button() == Qt.RightButton: self.menu.popup(QCursor.pos()) QTableWidget.mousePressEvent(self, e)
def __init__(self, parent, available): QWidget.__init__(self, parent) self._parent = parent self._available = available vbox = QVBoxLayout(self) self._table = QTableWidget(1, 5) self._table.removeRow(0) vbox.addWidget(self._table) self._headers = ('Name', 'Version', 'Description', "Authors", "Web") ui_tools.load_table(self._table, self._headers, _format_for_table(available)) self._table.setColumnWidth(0, 200) hbox = QHBoxLayout() btnInstall = QPushButton('Install') btnInstall.setMaximumWidth(100) hbox.addWidget(btnInstall) hbox.addWidget(QLabel(self.tr("NINJA needs to be restarted for " \ "changes to take effect."))) vbox.addLayout(hbox) # hbox = QHBoxLayout() # hbox.addWidget(QLabel( # self.tr("Add an external Plugin. URL Zip File:"))) # self._link = QLineEdit() # hbox.addWidget(self._link) # btnAdd = QPushButton(self.tr("Add")) # hbox.addWidget(btnAdd) # vbox.addLayout(hbox) # lblExternalPlugin = QLabel( # self.tr("(Write the URL of the Plugin and press 'Add')")) # lblExternalPlugin.setAlignment(Qt.AlignRight) # vbox.addWidget(lblExternalPlugin) self.connect(btnInstall, SIGNAL("clicked()"), self._install_plugins)
def __init__(self, modules): QTableWidget.__init__(self) self.setColumnCount(2) self.setRowCount(len(modules)) self.setHorizontalHeaderLabels(["Name", "Count"]) self.horizontalHeader().setStretchLastSection(True) self.verticalHeader().hide() self.populate(modules)
def patternTable(self): self.patterns = QTableWidget() self.patterns.setShowGrid(False) self.patterns.setColumnCount(5) self.patterns.setHorizontalHeaderLabels(["Filetype", "Header", "Footer", "Window", "Block aligned"]) self.patterns.horizontalHeader().setStretchLastSection(True) self.connect(self.patterns.verticalHeader(), SIGNAL("sectionClicked(int)"), self.patterns.removeRow) self.grid.addWidget(self.patterns, 7, 0, 1, 3)
def __init__(self, window_class, data, tabName, *args): QTableWidget.__init__(self, *args) self.data = data self.setmydata() self.resizeColumnsToContents() self.resizeRowsToContents() self.tabName = tabName self.window = window_class # we need pointer to this class to add jobs to the queue
def keyPressEvent(self, event): QTableWidget.keyPressEvent(self, event) if event.key() == Qt.Key_Delete: self.remove_selected_tasks() if(event.key() == Qt.Key_C and event.modifiers() & Qt.ControlModifier): indexes = self.selectionModel().selectedIndexes() # TODO: mettre dans un format xml. print("copy : ", indexes)
def __init__(self, result, parent=None): QTableWidget.__init__(self, len(result.model.task_list), 6, parent) self.result = result self.setHorizontalHeaderLabels(['Task', 'min', 'avg', 'max', 'std dev', 'occupancy']) self.setEditTriggers(QAbstractItemView.NoEditTriggers) self.verticalHeader().hide() self.update()
def __init__(self, parent): QTableWidget.__init__(self, parent) self.setSelectionMode(QAbstractItemView.NoSelection) self.setColumnCount(0) self.setRowCount(0) self.horizontalHeader().setMinimumSectionSize(15) self.verticalHeader().setVisible(False) self.verticalHeader().setDefaultSectionSize(25) #self.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) self.columns()
def __init__(self, parent, configuration, simulation_tab): QTableWidget.__init__(self, 4, 2, parent) self._header = ['Scheduler', 'Overhead schedule (cycles)', 'Overhead on activate (cycles)', 'Overhead on terminate (cycles)'] self._configuration = configuration self._simulation_tab = simulation_tab self.refresh_table() self.cellChanged.connect(self._cell_changed) self.cellActivated.connect(self._cell_activated)
def createList(labelText, slot, changedSlot, validator=None): widget = QWidget() layout = QVBoxLayout() layout.setObjectName('listLayout') widget.setLayout(layout) hboxWidget = QWidget() hboxLayout = QHBoxLayout() hboxLayout.setObjectName('hboxLayout for tableWidget') hboxWidget.setLayout(hboxLayout) tableWidget = QTableWidget(0, 2) tableWidget.setAlternatingRowColors(True) widget.connect(tableWidget, SIGNAL('cellChanged(int, int)'), changedSlot) tableWidget.setHorizontalHeaderLabels(createQStringList([labelText, ''])) tableWidget.setColumnWidth(INPUT_IDX, contentColumnWidth) tableWidget.setColumnWidth(BUTTON_IDX, deleteButtonColumnWidth) hboxLayout.addWidget(tableWidget) add = QWidget() addLayout = QHBoxLayout() addLayout.setObjectName('addLayout') add.setLayout(addLayout) addLineEdit = createLineEdit(add, None, validator) addButton = createButton(translate('MainWindow', 'Add'), add, add, slot) add.connect(addLineEdit, SIGNAL('returnPressed()'), slot) for wid in addLineEdit, addButton: addLayout.addWidget(wid) for wid in add, hboxWidget: layout.addWidget(wid) return (widget, tableWidget, addLineEdit)
class Widget(QWidget): def __init__(self, parent=None): super(Widget, self).__init__(parent) self.tableWidget = QTableWidget() self.tableWidget.setColumnCount(3) self.tableWidget.verticalHeader().hide() groupBox1 = QGroupBox('Experiment data') buttonHelp = QPushButton('help') buttonHelp.setEnabled(False) buttonHelp.setToolTip('Enter the input weights into the "w(i)" column and the signal values into the "x(i)"\n' + 'column.\n\n' + 'TIP: To recalculate the result, press Enter. To increment and decrement the value\n' + 'using the arrow keys, press F2 first or click the apropriate table cell with the left\n' + 'mouse button.') hboxLayoutGroupBox1 = QHBoxLayout() hboxLayoutGroupBox1.addWidget(QLabel('Enter the input weights and signal\n' + 'values in the table below')) hboxLayoutGroupBox1.addWidget(buttonHelp) vboxLayoutGroupBox1 = QVBoxLayout() vboxLayoutGroupBox1.addLayout(hboxLayoutGroupBox1) vboxLayoutGroupBox1.addWidget(self.tableWidget) groupBox1.setLayout(vboxLayoutGroupBox1) vboxLayout1 = QVBoxLayout() vboxLayout1.addWidget(QLabel('Perform experiments')) vboxLayout1.addWidget(groupBox1) groupBox2 = QGroupBox('Experiment result') self.memoryEdit = QLineEdit() self.memoryEdit.setReadOnly(True) self.signalEdit = QLineEdit() self.signalEdit.setReadOnly(True) self.outputEdit = QLineEdit() self.outputEdit.setReadOnly(True) self.buttonRecalculate = QPushButton('Recalculate!') gridLayoutGroupBox2 = QGridLayout() gridLayoutGroupBox2.addWidget(QLabel('Memory trace strength'), 0, 0) gridLayoutGroupBox2.addWidget(self.memoryEdit, 0, 1) gridLayoutGroupBox2.addWidget(QLabel('Input signal strength'), 1, 0) gridLayoutGroupBox2.addWidget(self.signalEdit, 1, 1) gridLayoutGroupBox2.addWidget(QLabel('Output'), 2, 0) gridLayoutGroupBox2.addWidget(self.outputEdit, 2, 1) gridLayoutGroupBox2.addWidget(self.buttonRecalculate, 3, 0) groupBox2.setLayout(gridLayoutGroupBox2) hboxLayout = QHBoxLayout() hboxLayout.addLayout(vboxLayout1) hboxLayout.addWidget(groupBox2) self.setLayout(hboxLayout)
class ApHlasConfDlg(QDialog): def __init__(self, width, height, parent = None): super(ApHlasConfDlg, self).__init__(parent) table1 = QTableWidget(5, 5) table1.connect(table1, SIGNAL("cellActivated(int, int)"), self.showTags) table1.connect(table1, SIGNAL("cellClicked(int, int)"), self.showTags) it1 = QTableWidgetItem("Hello") table1.setItem(0, 0, it1) hdview = QHeaderView(Qt.Horizontal) hdview.setStretchLastSection(True) self.tagsTable = QTableWidget(5,1) self.tagsTable.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.tagsTable.setHorizontalHeader(hdview) self.tagsTable.setHorizontalHeaderLabels(['tags']) l = QHBoxLayout(self) l.addWidget(table1) l.addWidget(self.tagsTable) def showTags(self, row, col): for i in range(3): print i it = self.tagsTable.item(i, 0) if it is None: print "New an item at ", i, 0 it = QTableWidgetItem("tags: %d (%d,%d)" % (i, row, col)) self.tagsTable.setItem(i, 0, it) else: print "Existing item", i, 0 it.setText("this is a very long tags: %d (%d,%d)" % (i, row, col))
def __init__(self, parent, result): QTableWidget.__init__(self, len(result.model.logs), 3, parent=parent) self.setWindowTitle("Logs") self.setHorizontalHeaderLabels(["Date (cycles)", "Date (ms)", "Message"]) self.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.horizontalHeader().setStretchLastSection(True) self.horizontalHeader().setMinimumSectionSize(60) self.verticalHeader().hide() self._sim = result.model self.result = result self.update()
def keyHandler(self, event): if event.key() == Qt.Key_Return: self.edit() event.accept() return elif event.key() == Qt.Key_Delete: self.delete() event.accept() return QTableWidget.keyPressEvent(self.table, event)
def __on_table_scroll(self, event=None): if type(event) == QtGui.QKeyEvent and (event.key() not in [QtCore.Qt.Key_Down, QtCore.Qt.Key_PageDown]): return QTableWidget.keyReleaseEvent(self._tableWidget, event) if self.__tableWidget.verticalScrollBar().value() != self._tableWidget.verticalScrollBar().maximum(): if type(event) == QtGui.QWheelEvent: return QTableWidget.wheelEvent(self._tableWidget, event) else: return self._on_table_show()
def __init__( self, parent = None ): QTableWidget.__init__( self, parent ) self.labels = [ "Name", "Lines", "Gates", "Quantum Costs", "Transistor Costs", "Run-Time" ] self.setColumnCount( len( self.labels ) ) self.setHorizontalHeaderLabels( self.labels ) self.setColumnHidden( 4, True ) self.setColumnHidden( 5, True ) self.horizontalHeader().setContextMenuPolicy( Qt.CustomContextMenu ) self.connect( self.horizontalHeader(), SIGNAL( 'customContextMenuRequested( const QPoint& )' ), self.headerContextMenu )
def __init__(self, parent, result): QTableWidget.__init__(self, len(result.model.processors) + 1, 3, parent) self.result = result self.setHorizontalHeaderLabels( ["Total load", "Payload", "System load", "Theoric min"]) self.setVerticalHeaderLabels([x.name for x in result.model.processors] + ["Average"]) self.setEditTriggers(QAbstractItemView.NoEditTriggers) self.update()
def resizeEvent(self, event): """ Resize columns when table size is changed. """ if event != None: QTableWidget.resizeEvent(self, event) space = self.width() - 4 if self.verticalScrollBar().isVisible(): space -= self.verticalScrollBar().width() space -= self.columnWidth(0) self.setColumnWidth(1, space) if self.updateIni: self.writeIni()
def __init__(self, parent, result): QTableWidget.__init__(self, len(result.model.logs), 3, parent=parent) self.setWindowTitle("Logs") self.setHorizontalHeaderLabels( ["Date (cycles)", "Date (ms)", "Message"]) self.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.horizontalHeader().setStretchLastSection(True) self.horizontalHeader().setMinimumSectionSize(60) self.verticalHeader().hide() self._sim = result.model self.result = result self.update()
class InstalledWidget(QWidget): """ This widget show the installed plugins """ def __init__(self, parent, installed): QWidget.__init__(self, parent) self._parent = parent self._installed = installed vbox = QVBoxLayout(self) self._table = QTableWidget(1, 2) self._table.setSelectionMode(QTableWidget.SingleSelection) self._table.removeRow(0) vbox.addWidget(self._table) ui_tools.load_table(self._table, (self.tr('Name'), self.tr('Version')), _format_for_table(installed)) self._table.setColumnWidth(0, 500) btnUninstall = QPushButton(self.tr("Uninstall")) btnUninstall.setMaximumWidth(100) vbox.addWidget(btnUninstall) self.connect(btnUninstall, SIGNAL("clicked()"), self._uninstall_plugins) self.connect(self._table, SIGNAL("itemSelectionChanged()"), self._show_item_description) def _show_item_description(self): item = self._table.currentItem() if item is not None: data = list(item.data(Qt.UserRole)) self._parent.show_plugin_info(data) def remove_item(self, plugin_name): plugin = _get_plugin(plugin_name, self._installed) self._installed.remove(plugin) def add_table_items(self, plugs): self._installed += plugs data = _format_for_table(self._installed) ui_tools.load_table(self._table, (self.tr('Name'), self.tr('Version')), data) def _uninstall_plugins(self): data = _format_for_table(self._installed) plugins = ui_tools.remove_get_selected_items(self._table, data) self._parent.mark_as_available(plugins) def reset_table(self, installed): self._installed = installed while self._table.rowCount() > 0: self._table.removeRow(0) ui_tools.load_table(self._table, (self.tr('Name'), self.tr('Version')), self._installed)
def __init__(self, parent=None): logging.info(u'创建主窗口...') QtGui.QMainWindow.__init__(self, parent) tabs = QtGui.QTabWidget(self) tab2 = QtGui.QWidget() tab3 = QtGui.QWidget() console = MyConsole(parent=self) # tab2 - console console.setMinimumSize(1500, 800) scroll = QtGui.QScrollArea() scroll.setWidget(console) scroll.setAutoFillBackground(True) scroll.setWidgetResizable(True) vbox = QtGui.QVBoxLayout() vbox.addWidget(scroll) tab2.setLayout(vbox) # tab3 - self.viewEntry = QTableWidget(0, 12) self.viewEntry.setHorizontalHeaderLabels([ u'期数', u'时间', u'冠军', u'亚军', u'第三名', u'第四名', u'第五名', u'第六名', u'第七名', u'第八名', u'第九名', u'第十名' ]) self.viewEntry.horizontalHeader().setStretchLastSection(True) self.viewEntry.horizontalHeader().setResizeMode( QtGui.QHeaderView.Stretch) vbox3 = QtGui.QVBoxLayout() vbox3.addWidget(self.viewEntry) tab3.setLayout(vbox3) tabs.addTab(tab2, u"控制台") tabs.addTab(tab3, u"开奖结果") tabs.resize(1500, 800) self.resize(1500, 800) self.tabs = tabs self.tab2 = tab2 self.tab3 = tab3 self.scroll = scroll # 禁止最大化 self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint) from myutil.Overlay import Overlay self.setCentralWidget(self.tabs) self.overlay = Overlay(self.centralWidget()) self.overlay.hide() self.show()
def __init__(self, parent, configuration): QTableWidget.__init__(self, len(configuration.proc_info_list), 7, parent) self._configuration = configuration self._manual_change = True self.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.horizontalHeader().setStretchLastSection(True) self._header = ['id', 'Name', 'CS overhead', 'CL overhead', 'Caches', 'Cycles / mem access', 'Speed'] self.setVerticalHeaderLabels([""]) self.verticalHeader().hide() self.setSelectionBehavior(QAbstractItemView.SelectRows) self.refresh_table()
def __init__(self, *args): QTableWidget.__init__(self, *args) self.setGeometry(QtCore.QRect(15, 400, 391, 301)) self.setMaximumSize(QtCore.QSize(400, 16777215)) self.setObjectName("Thermometers Table") self.setColumnCount(4) self.setRowCount(0) for i in range(4): item = QtGui.QTableWidgetItem() self.setHorizontalHeaderItem(i, item) self.horizontalHeaderItem(i).setText(QtGui.QApplication.translate("FloorplanMaker", self.columns_names[i], None, QtGui.QApplication.UnicodeUTF8)) self.setColumnWidth(i,90) self.setColumnWidth(0,120)
def __init__(self, parent = None, datalist = None, mode='r'): super(SimpleListDlg, self).__init__(parent) self.tbl = QTableWidget() self.mode = mode # read only or write 'r'/'w' self.values = [] if datalist is not None: data = datalist.toList() self.tbl.setRowCount(len(data)) self.tbl.setColumnCount(1) for i,val in enumerate(data): #print i, val.toFloat() self.values.append(val.toFloat()[0]) it = QTableWidgetItem("%g" % val.toFloat()[0]) if self.mode == 'r': it.setFlags(it.flags() & ~Qt.ItemIsEditable) self.tbl.setItem(i,0,it) buttonBox = QDialogButtonBox(QDialogButtonBox.Ok| QDialogButtonBox.Cancel) layout = QVBoxLayout() layout.addWidget(self.tbl) layout.addWidget(buttonBox) self.setLayout(layout) self.connect(buttonBox, SIGNAL("accepted()"), self.accept) self.connect(buttonBox, SIGNAL("rejected()"), self.reject)
def __init__(self, parent, available): QWidget.__init__(self, parent) self._parent = parent self._available = available vbox = QVBoxLayout(self) self._table = QTableWidget(1, 2) self._table.setSelectionMode(QTableWidget.SingleSelection) self._table.removeRow(0) vbox.addWidget(self._table) ui_tools.load_table(self._table, (self.tr('Name'), self.tr('Version')), _format_for_table(available)) self._table.setColumnWidth(0, 500) self._table.setSortingEnabled(True) self._table.setAlternatingRowColors(True) hbox = QHBoxLayout() btnInstall = QPushButton(self.tr('Install')) btnInstall.setMaximumWidth(100) hbox.addWidget(btnInstall) hbox.addWidget(QLabel(self.tr("NINJA needs to be restarted for " "changes to take effect."))) vbox.addLayout(hbox) self.connect(btnInstall, SIGNAL("clicked()"), self._install_plugins) self.connect(self._table, SIGNAL("itemSelectionChanged()"), self._show_item_description)
def buildInterface(self): frame = QFrame() layout = QVBoxLayout(frame) self.setWidget(frame) self.setWidgetResizable(True) title = u'<h1>%s</h1>' % self.tr('EdenWall activation keys') layout.addWidget(QLabel(title)) sn = "<strong>%s</strong>" % self.ID self.IDLabel = QLabel(tr('This appliance serial number is %s.') % sn) self.IDLabel.setTextInteractionFlags( Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse) sendLicenseButton = NuConfPageKit.createButton( tr('Upload an activation key'), frame, self.mainwindow, self.chooseAndSendFile, QIcon(":/icons/up")) self.mainwindow.writeAccessNeeded(sendLicenseButton) self.table = QTableWidget(0, 4, frame) self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) self.table.setSelectionMode(QAbstractItemView.NoSelection) self.table.horizontalHeader().setStretchLastSection(True) self.table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents) self.table.setHorizontalHeaderLabels([ unicode(translate('MainWindow', 'Activation key owner')), unicode(translate('MainWindow', 'Valid until')), unicode(translate('MainWindow', 'Days left')), unicode(translate('MainWindow', 'Type'))]) for widget in (self.IDLabel, sendLicenseButton, self.table): layout.addWidget(widget) layout.addStretch(100)
def __init__(self, model, parent): super().__init__(parent) self.model = model self.setModal(False) self.setAttribute(Qt.WA_DeleteOnClose) # QDialogs at least in GNOME do not have a close button by default self.setWindowFlags(Qt.Window | Qt.WindowSystemMenuHint | Qt.WindowCloseButtonHint) self.setWindowTitle('Linux Process Explorer Search') self.setGeometry(0, 0, 900, 500) self.move((parent.width() - self.width()) / 2 + parent.x(), (parent.height() - self.height()) / 2 + parent.y()) lblSearch = QLabel('Descriptor or Lib substring:') self.txtSearch = QLineEdit() btnSearch = QPushButton('&Search') btnSearch.clicked.connect(self.onBtnSearchClicked) btnCancel = QPushButton('&Cancel') searchLayout = QHBoxLayout() searchLayout.addWidget(lblSearch) searchLayout.addWidget(self.txtSearch) searchLayout.addWidget(btnSearch) searchLayout.addWidget(btnCancel) self.tblResults = QTableWidget(0, 4) self.tblResults.setHorizontalHeaderLabels(('Process', 'PID', 'Type', 'Name')) self.tblResults.horizontalHeader().setStretchLastSection(True) self.tblResults.verticalHeader().setVisible(False) self.tblResults.setShowGrid(False) self.tblResults.setSelectionBehavior(QTableWidget.SelectRows) self.tblResults.verticalHeader().setDefaultSectionSize(24) mainLayout = QVBoxLayout() mainLayout.addLayout(searchLayout) mainLayout.addWidget(self.tblResults) self.setLayout(mainLayout)
def __init__(self, winged, pref): QWidget.__init__(self) self.winged = winged self.pref = pref self._vbox = QVBoxLayout(self) self._hbox = QHBoxLayout() self._table = QTableWidget(1, 3) self._table.setHorizontalHeaderLabels(['Access', 'File Name', 'Size']) self._table.setSelectionBehavior(QAbstractItemView.SelectRows) self._table.verticalHeader().hide() self._table.removeRow(0) self._table.setColumnWidth(0, 80) self._table.setColumnWidth(1, 480) self._hbox.addWidget(self._table) self._btnDownload = QPushButton(QIcon(config.images['download']), '') self._btnDownload.setToolTip('Download') self._btnFacebook = QPushButton(QIcon(config.images['facebook']), '') self._btnFacebook.setToolTip('Share on Facebook') self._btnTwitter = QPushButton(QIcon(config.images['twitter']), '') self._btnTwitter.setToolTip('Share on Twitter') self._btnLink = QPushButton(QIcon(config.images['link']), '') self._btnLink.setToolTip('Copy Link') self.connect(self._btnDownload, SIGNAL("clicked()"), self._save) self.connect(self._btnFacebook, SIGNAL("clicked()"), self._facebook) self.connect(self._btnTwitter, SIGNAL("clicked()"), self._twitter) self.connect(self._btnLink, SIGNAL("clicked()"), self._copy_link)
def restoreWidgetPosition(self): super().restoreWidgetPosition() self.table = QTableWidget(self.harmonic_maximum_index + 1, 3) self.table.setAlternatingRowColors(True) self.table.horizontalHeader().setResizeMode(QHeaderView.Fixed) for i in range(0, 3): self.table.setColumnWidth(i, 70) horHeaders = [] verHeaders = [] for n, key in enumerate(sorted(self.data.keys())): horHeaders.append(key) for m, item in enumerate(self.data[key]): table_item = QTableWidgetItem(str(item)) table_item.setTextAlignment(Qt.AlignRight) self.table.setItem(m, n, table_item) verHeaders.append(str(m)) self.table.setHorizontalHeaderLabels(horHeaders) self.table.setVerticalHeaderLabels(verHeaders) self.table.resizeRowsToContents() self.table.itemChanged.connect(self.table_item_changed) self.scrollarea.setWidget(self.table) self.scrollarea.setWidgetResizable(1) gui.rubber(self.controlArea)