예제 #1
0
    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)))
예제 #2
0
파일: main.py 프로젝트: hubitor-forks/caps
 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()})
예제 #3
0
    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)
예제 #4
0
 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
예제 #5
0
    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')
예제 #6
0
    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)
예제 #7
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)
예제 #8
0
    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()
예제 #9
0
    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)
예제 #10
0
 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)
예제 #11
0
    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