def readDataIntoTable(self): items = db.readDb() if not (len(items) <= 0): columnCount = len(items[0]) self.MainWindow.tW_Items.setColumnCount(columnCount) self.MainWindow.tW_Items.setRowCount(0) header = self.MainWindow.tW_Items.horizontalHeader() self.MainWindow.listWidget.clear() for i in items: data = [] listItem = Qt.QListWidgetItem() listItem.setText(str(i['anzahl']) + 'x ' + i['name'] + ' ' + str(i['menge'])) for e in i: data.append(i[e]) if i['type'] == 'food': listItem.setIcon(QIcon(item.icon_food)) #Haltbarkeit in Tage ausrechnen haltbarkeit = [] #tagenochHaltbar = calculateHaltbarkeitinTagen(i[7]) haltbarkeit = calculateHaltbarkeit(i['mhd']) data.append(haltbarkeit) elif i['type'] == 'nonfood': listItem.setIcon(QIcon(item.icon_nonfood)) listItem.setData(qt.UserRole, data) self.MainWindow.listWidget.addItem(listItem) for row_number, row_data in enumerate(items): self.MainWindow.tW_Items.insertRow(row_number) for column_number, data in enumerate(row_data): self.MainWindow.tW_Items.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(str(data)))
def add_worker_started(self, args): id = concat(args['book_id'], args['format']) item = Qt.QListWidgetItem('Converting {}'.format(args['input'])) item.setData(QtCore.UserRole, id) self.details.addItem(item) # Sets the initial timer for conversion self.timer_start.update({id: timer()})
def addPathWithPath(self, path): if len(path) > 0: path = abspath(path) if self.pathList.findItems(path, QtCore.Qt.MatchFixedString) == []: self.pathList.addItem(Qt.QListWidgetItem(path)) if self.pathList.count() > 0: self.deletePathAct.setEnabled(True)
def makeListItem(self, daten): data = [] listItem = Qt.QListWidgetItem() listItem.setText(daten['name']) for i in daten: data.append(daten[i]) listItem.setData(qt.UserRole, data) return listItem
def __init__(self, *args): super().__init__(*args) self.setupUi(self) self.prj_create.clicked.connect(self.create_project) self.prj_browse.clicked.connect(self.select_dir) self._project = None # Populate the type selection list dgs_airborne = Qt.QListWidgetItem( Qt.QIcon(':images/assets/flight_icon.png'), 'DGS Airborne', self.prj_type_list) dgs_airborne.setData(QtCore.Qt.UserRole, 'dgs_airborne') self.prj_type_list.setCurrentItem(dgs_airborne) dgs_marine = Qt.QListWidgetItem( Qt.QIcon(':images/assets/boat_icon.png'), 'DGS Marine', self.prj_type_list) dgs_marine.setData(QtCore.Qt.UserRole, 'dgs_marine')
def populateSuggestions(self, seq): self.suggestion_list.clear() for x in seq: Qt.QListWidgetItem(x, parent=self.suggestion_list) self.currentlySelectedIndex.maxval = len(seq) self.suggestion_list.setCurrentRow(0)
def write(self,data): """ Write data to list view. 1) must remove line feed at end 2) seems to be a spurious line feed coming through as well """ if len(data)<=1: return if data[-1] in ['\r','\n']: data=data[0:-1] Qt.QListWidgetItem(data,self.list)
def addItem(self, text, ident=None): """ Add item into the view. Arguments: text (str): Item's text. ident (Optional[str]): Item's identifier. """ item = Q.QListWidgetItem(text) if ident is not None: item.setData(Role.IdRole, ident) self._list.addItem(item) self._adjustSize() self._updateState()
def update_similar_meshes_list(self): scalarDistFunction = self.scalarDistancesDict[self.scalarDistanceMethodList.currentText()] histDistFunction = self.histDistancesDict[self.histDistanceMethodList.currentText()] skelDistFunction = self.skeletonDistancesDict[self.skeletonDistancesMethodList.currentText()] if (scalarDistFunction or histDistFunction) == QueryMatcher.perform_knn: self.scalarDistanceMethodList.setCurrentText("K-Nearest Neighbors") self.histDistanceMethodList.setCurrentText("K-Nearest Neighbors") self.skeletonDistancesMethodList.setCurrentText("K-Nearest Neighbors") n_singletons, n_distributionals, mapping_of_labels = get_sizes_features(features_file=self.config_data["FEATURE_DATA_FILE"],with_labels=True) n_hist = len([key for key, val in mapping_of_labels.items() if "hist_" in key]) n_skeleton = len([key for key, val in mapping_of_labels.items() if "skeleton_" in key]) weights = ([self.scalarSliderWeights.value()]) + \ ([self.histSliderWeights.value()] * n_hist) + \ ([self.skeletonSliderWeights.value()] * n_skeleton) function_pipeline = [scalarDistFunction] + \ ([histDistFunction] * n_hist) + \ ([skelDistFunction] * n_skeleton) indices, distance_values, labels = self.query_matcher.match_with_db(self.query_mesh_features, k=self.sliderK.value(), distance_functions=function_pipeline, weights=weights) print(f"Distance values and indices are {list(zip(indices, distance_values))}") self.list.clear() for i, ind in enumerate(indices): item = Qt.QListWidgetItem() icon = Qt.QIcon() filename = str(ind) + "_thumb.jpg" path_to_thumb = glob.glob(self.config_data["DATA_PATH_PSB"] + "\\**\\" + filename, recursive=True) icon.addPixmap(Qt.QPixmap(path_to_thumb[0]), QtGui.QIcon.Normal, QtGui.QIcon.Off) item.setIcon(icon) item.setText("ID: " + str(ind) + "\nDistance: " + str("{:.2f}".format(distance_values[i]))) item.setToolTip(str(ind)) self.list.addItem(item)
def setup_global_config_text(self, conf): for key, value in sorted(conf.iteritems()): item = Qt.QListWidgetItem("%s: %s" % (key, value)) self.global_conf_list_widget.addItem(item)
def __init__(self, *args): Qt.QMainWindow.__init__(self, *args) self.calibrator=None self.calibration=Calibration() d=AnalysisData() d.Tgamma=0.0 """ calibration values: Only the NE213 spectra are calibrated. Calibration is stored in a dict() The following keys are known: 'EADC': adc used for calibrating energy 'TADC': adc used for calibrating TOF 'slope': gamma calibration slope in MeVee/ch 'intercept': gamma calibration intercept in MeVee 'TAC': TDC slope in ns/ch 'Tgamma': Time of gamma burst in raw TOF, used to calc T0 """ self.mainwin=Qt.QSplitter(self) self.logwin=Qt.QListWidget(self) vlayout=Qt.QVBoxLayout() vlayout.addWidget(self.mainwin) label=self.makeLabel("Analysis log") vlayout.addWidget(label) vlayout.addWidget(self.logwin) self.setGeometry(10,10,1024,768) #self.setCentralWidget(self.mainwin) w=Qt.QWidget() w.setLayout(vlayout) self.setCentralWidget(w) logstream=ListLogger(self.logwin) loghandler=logging.StreamHandler(logstream) loghandler.setFormatter(logging.Formatter(fmt='%(asctime)s : %(levelname)s : %(message)s')) logger.addHandler(loghandler) self.filewidget=Qt.QWidget() vlayout=Qt.QVBoxLayout() from .fileentry import FilePicker self.filepick=FilePicker() label=self.makeLabel("Analysis Files") vlayout.addWidget(label) vlayout.addWidget(self.filepick) vlayout.setContentsMargins(1,1,1,1) # cut down margins from 11px self.filewidget.setLayout(vlayout) self.mainwin.addWidget(self.filewidget) self.taskwidget=Qt.QWidget() vlayout=Qt.QVBoxLayout() self.tasklist=Qt.QListWidget(self) self.tasklistitems={} # keep a dict of these, may expand in future for task in analysis_tasks: item=Qt.QListWidgetItem(task,self.tasklist) item.setFlags(item.flags()&~QtCore.Qt.ItemIsEnabled) self.tasklistitems[task]=item self.tasklist.setDragDropMode(Qt.QAbstractItemView.InternalMove) label=self.makeLabel("Task list") vlayout.addWidget(label) vlayout.addWidget(self.tasklist) vlayout.setContentsMargins(1,1,1,1) # cut down margins from 11px self.taskwidget.setLayout(vlayout) self.mainwin.addWidget(self.taskwidget) # set up user interface self.setupMenuBar() # toolbar example code taken from dualscopeN.py toolBar = Qt.QToolBar(self) self.addToolBar(toolBar) sb=self.statusBar() sbfont=Qt.QFont("Helvetica",12) sb.setFont(sbfont) sb.showMessage("Status=1") # !! use addAction instead ? self.btnOpenExpt = Qt.QToolButton(toolBar) self.btnOpenExpt.setText("Open expt") self.btnOpenExpt.setIcon(Qt.QIcon(Qt.QPixmap(icons.stopicon))) #self.btnOpenExpt.setCheckable(True) self.btnOpenExpt.setToolButtonStyle(Qt.Qt.ToolButtonTextUnderIcon) self.btnOpenExpt.setToolTip("Open list of experiment file names") toolBar.addWidget(self.btnOpenExpt) self.btnSaveExpt = Qt.QToolButton(toolBar) self.btnSaveExpt.setText("Save expt") self.btnSaveExpt.setIcon(self.style().standardIcon(Qt.QStyle.SP_DriveFDIcon)) self.btnSaveExpt.setToolButtonStyle(Qt.Qt.ToolButtonTextUnderIcon) self.btnSaveExpt.setToolTip("Save list of experiment file names") toolBar.addWidget(self.btnSaveExpt) """ self.btnPrint = Qt.QToolButton(toolBar) self.btnPrint.setText("Print") self.btnPrint.setIcon(Qt.QIcon(Qt.QPixmap(icons.print_xpm))) self.btnPrint.setToolButtonStyle(Qt.Qt.ToolButtonTextUnderIcon) self.btnPrint.setToolTip("One day, may print something") toolBar.addWidget(self.btnPrint) """ self.btnSaveData = Qt.QToolButton(toolBar) self.btnSaveData.setText("data") self.btnSaveData.setIcon(Qt.QIcon(packagepath[0]+"/images/drive.png")) self.btnSaveData.setToolButtonStyle(Qt.Qt.ToolButtonTextUnderIcon) self.btnSaveData.setToolTip("Save all histogram data to hdf file") toolBar.addWidget(self.btnSaveData) toolBar.addSeparator() self.maxeventcount=None self.lblMaxevent = Qt.QLabel("Max event count:",toolBar) self.lblMaxevent.setToolTip("Set maximum number of events sorted, or None") toolBar.addWidget(self.lblMaxevent) self.editMaxevent = Qt.QLineEdit(toolBar) self.editMaxevent.setFixedWidth(100) self.editMaxevent.editingFinished.connect(self.setMaxEvent) self.editMaxevent.setText("None") toolBar.addWidget(self.editMaxevent) # set up a model for spectra plots self.plotwidget=Qt.QWidget() vlayout=Qt.QVBoxLayout() self.plotview=PlotTreeView(self) self.plotmodel=PlotTreeModel(self) self.plotview.setModel(self.plotmodel) self.plotview.setDragDropMode(Qt.QAbstractItemView.InternalMove) label=self.makeLabel("Plot list") vlayout.addWidget(label) vlayout.addWidget(self.plotview) vlayout.setContentsMargins(1,1,1,1) # cut down margins from 11px self.plotwidget.setLayout(vlayout) self.mainwin.addWidget(self.plotwidget) # connect signals self.tasklist.doubleClicked.connect(self.runTask) self.filepick.fileChanged.connect(self.setFilePaths) self.filepick.dataChanged.connect(self.setAnalysisData) self.filepick.valueChanged.connect(self.setFilePaths) self.btnOpenExpt.clicked.connect(self.openFile) self.btnSaveExpt.clicked.connect(self.saveFile) self.btnSaveData.clicked.connect(self.saveDataAsHDF) self.bthread = None
def _update_form(self): payload = self.session.first_payload if not isinstance(payload, aioxmpp.forms.Data): self.ui.form_widget.hide() return self.ui.form_widget.show() if payload.title: self.ui.title.show() self.ui.title.setText(payload.title) else: self.ui.title.hide() if payload.instructions: self.ui.instructions.show() self.ui.instructions.setText("<p>{}</p>".format("</p><p>".join( map(html.escape, payload.instructions)))) else: self.ui.instructions.hide() if self.form_area is not None: self.ui.form_widget.layout().removeWidget(self.form_area) self.ui.form_widget.children().remove(self.form_area) self.form_area.deleteLater() self.form_area = Qt.QScrollArea() layout = Qt.QFormLayout() self.form_area.setLayout(layout) self.ui.form_widget.layout().addWidget(self.form_area) self.fieldmap = {} for field in payload.fields: if field.var == "FORM_TYPE": continue label, widget = None, None if field.type_ == aioxmpp.forms.FieldType.FIXED: label = Qt.QLabel(field.values[0]) layout.addRow(label) elif field.type_ in { aioxmpp.forms.FieldType.LIST_SINGLE, aioxmpp.forms.FieldType.LIST_MULTI }: label = Qt.QLabel(field.label) widget = Qt.QListWidget() for opt_value, opt_label in sorted(field.options.items()): item = Qt.QListWidgetItem(opt_label, widget) item.setData(Qt.Qt.UserRole, opt_value) widget.addItem(item) if field.type_.is_multivalued: widget.setSelectionMode( Qt.QAbstractItemView.MultiSelection) else: widget.setSelectionMode( Qt.QAbstractItemView.SingleSelection) layout.addRow(label, widget) elif field.type_ in { aioxmpp.forms.FieldType.TEXT_SINGLE, aioxmpp.forms.FieldType.JID_SINGLE }: label = Qt.QLabel(field.label) widget = Qt.QLineEdit() if field.values: widget.setText(field.values[0]) layout.addRow(label, widget) elif field.type_ in {aioxmpp.forms.FieldType.TEXT_PRIVATE}: label = Qt.QLabel(field.label) widget = Qt.QLineEdit() widget.setEchoMode(Qt.QLineEdit.Password) widget.setInputMethodHints(Qt.Qt.ImhHiddenText | Qt.Qt.ImhNoPredictiveText | Qt.Qt.ImhNoAutoUppercase) if field.values: widget.setText(field.values[0]) layout.addRow(label, widget) elif field.type_ in { aioxmpp.forms.FieldType.TEXT_MULTI, aioxmpp.forms.FieldType.JID_MULTI }: label = Qt.QLabel(field.label) widget = Qt.QTextEdit() widget.setText("\n".join(field.values)) widget.setAcceptRichText(False) layout.addRow(label, widget) else: self.fail("unhandled field type: {}".format(field.type_)) self.fieldmap[field.var] = label, widget