我们从Python开源项目中,提取了以下43个代码示例,用于说明如何使用PyQt4.QtGui.QListWidgetItem()。
def defineNewColour(self, colName): '''Define a new Color. :param colName: String color. ''' if str( colName ) not in self.colourSets: self.colourSets.add( str( colName ) ) for editor in self.mainWindow.editors: editor.colorListWidget.insertItem( editor.colorListWidget.count()-1, QtGui.QListWidgetItem( str( colName ) ) ) editor.colorListItems.insert( len( editor.colorListItems), str( colName ) ) else: errorString = str( "Colour Set already defined!" ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.yellow) self.mainWindow.logWidget.addItem( item ) #------------------------------------------------------------------------------------------------
def refresh_func_list(self): """ Refresh the items in the function list by user settings. """ ip_flag = self._ipv_id self.ui.Functionlist.clear() for f_id, func in enumerate(self.choice[self._ipv_id]): item = QtGui.QListWidgetItem() if self._funcs[ip_flag][f_id] == 1: check = QtCore.Qt.Checked else: check = QtCore.Qt.Unchecked item.setCheckState(check) item.setText(_translate("Util", func[3], None)) self.ui.Functionlist.addItem(item)
def addMessageToIntelChat(self, message, timeA=time.time()): scrollToBottom = False if (self.chatListWidget.verticalScrollBar().value() == self.chatListWidget.verticalScrollBar().maximum()): scrollToBottom = True chatEntryWidget = ChatEntryWidget(message) listWidgetItem = QtGui.QListWidgetItem(self.chatListWidget) listWidgetItem.setSizeHint(chatEntryWidget.sizeHint()) self.chatListWidget.addItem(listWidgetItem) self.chatListWidget.setItemWidget(listWidgetItem, chatEntryWidget) self.avatarFindThread.addChatEntry(chatEntryWidget) self.chatEntries.append(chatEntryWidget) self.connect(chatEntryWidget, SIGNAL("mark_system"), self.markSystemOnMap) self.emit(SIGNAL("chat_message_added"), chatEntryWidget, timeA) self.pruneMessages() if scrollToBottom: self.chatListWidget.scrollToBottom()
def __init__(self): super(UpdateWindow, self).__init__() self.setupUi(self) self.setWindowIcon(QtGui.QIcon('pip_gui/Resource_Files/googledev.png')) self.outdatedPackages = json.load(open('pip_gui/Resource_Files/outdatedPackage' + fileVersion+ '.json')) self.selectedList = list() self.btnBack.clicked.connect(self.backFn) self.btnUpdateAll.clicked.connect(self.updateAllFn) self.btnUpdate.clicked.connect(self.updateFn) global outdatedPackages if len(self.outdatedPackages): for i in self.outdatedPackages: self.item = QtGui.QListWidgetItem(i) self.listWidget.addItem(self.item) else: self.item = QtGui.QListWidgetItem('=== No Outdated Packges ===') self.listWidget.addItem(self.item) self.btnUpdate.setEnabled(False) self.btnUpdateAll.setEnabled(False)
def window_loaded(self): try: self.util.msg_log('window_loaded') self.util.msg_log('before stop') self.timer.stop() self.timer = None self.util.msg_log('before get_groupds') ok, result = self.cc.get_groups() if ok is False: QApplication.restoreOverrideCursor() self.util.dlg_warning(result) return if not result: self.list_all_clicked() else: for entry in result: item = QListWidgetItem(entry['display_name']) item.setData(Qt.UserRole, entry) #item.setCheckState(Qt.Checked) item.setCheckState(Qt.Unchecked) self.IDC_listGroup.addItem(item) finally: QApplication.restoreOverrideCursor()
def setupWidgetFromElem(self,elem): self.xmlElem = elem #get attributes from xml element file = elem.get('file') name = elem.get('name') projectDir = cmds.workspace(q=True,rd=True) fileName = projectDir+file[2:] modelFile = open(fileName) modelFileTextLines = modelFile.readlines() modelFile.close() widgetMenu = self.getWidgetMenu() for line in modelFileTextLines: if 'createNode transform -n' in line: modelName = line.split('"')[1] item = QtGui.QListWidgetItem(widgetMenu.geoNameList) item.setText(modelName) widgetMenu.fileLocation.setText(file) item = widgetMenu.geoNameList.findItems(name, QtCore.Qt.MatchContains)[0] #widgetMenu.geoNameList.setCurrentItem(item) #widgetMenu.geoName.setText(name)
def __init__(self, *args, **kwargs): # Grab the args as a list so we can edit it args = list(args) otherNode = None # Check to see if the first argument is of type NodeBase #if args and isinstance(args[0], BaseNode): if args: otherNode = args.pop(0) # Separately initiate the inherited classes QtGui.QListWidgetItem.__init__(self, *args, **kwargs) BaseNode.__init__(self) # Set all necessary attributes that come from the base class if they're present self.displayText = otherNode.displayText if otherNode else "" self.dictKey = otherNode.dictKey if otherNode else "" self.imagePath = otherNode.imagePath if otherNode else "" self.description = otherNode.description if otherNode else "" self.nodeColor = otherNode.nodeColor if otherNode else "" self.listWidgetName = otherNode.listWidgetName if otherNode else None self.setIcon(QtGui.QIcon(self.imagePath)) self.setText(self.displayText)
def selectDir(self): ''' Select a directory, make list of images in it and display the first image in the list. ''' # open 'select folder' dialog box self.folder = str(QtGui.QFileDialog.getExistingDirectory(self, "Select Directory")) if not self.folder: QtGui.QMessageBox.warning(self, 'No Folder Selected', 'Please select a valid Folder') return self.logs = getImages(self.folder) self.numImages = len(self.logs) # make qitems of the image names self.items = [QtGui.QListWidgetItem(log['name']) for log in self.logs] for item in self.items: self.qlist_images.addItem(item) # display first image and enable Pan self.cntr = 0 self.image_viewer.enablePan(True) self.image_viewer.loadImage(self.logs[self.cntr]['path']) self.qlist_images.setItemSelected(self.items[self.cntr], True) # enable the next image button on the gui if multiple images are loaded if self.numImages > 1: self.next_im.setEnabled(True)
def scan_project(self, project): if project == "ALL": self.scan() return self.ecu_scan.clear() self.ecu_scan.scan(self.progressstatus, self.infostatus, project) self.ecu_scan.scan_kwp(self.progressstatus, self.infostatus, project) for ecu in self.ecu_scan.ecus.keys(): self.ecunamemap[ecu] = self.ecu_scan.ecus[ecu].name item = gui.QListWidgetItem(ecu) if '.xml' in self.ecu_scan.ecus[ecu].href.lower(): item.setForeground(core.Qt.yellow) else: item.setForeground(core.Qt.green) self.treeview_ecu.addItem(item) for ecu in self.ecu_scan.approximate_ecus.keys(): self.ecunamemap[ecu] = self.ecu_scan.approximate_ecus[ecu].name item = gui.QListWidgetItem(ecu) item.setForeground(core.Qt.red) self.treeview_ecu.addItem(item)
def newEcu(self): filename = gui.QFileDialog.getSaveFileName(self, _("Save ECU (keep '.json' extension)"), "./json/myecu.json", "*.json") if not filename: return basename = os.path.basename(unicode(filename.toUtf8(), encoding="UTF-8")) filename = os.path.join("./json", basename) ecufile = ecu.Ecu_file(None) layout = open(filename + ".layout", "w") layout.write('{"screens": {}, "categories":{"Category":[]} }') layout.close() targets = open(filename + ".targets", "w") targets.write('[]') targets.close() layout = open(filename, "w") layout.write(ecufile.dumpJson()) layout.close() item = gui.QListWidgetItem(basename) self.treeview_ecu.addItem(item)
def loadEcu(self, name): vehicle_file = "vehicles/" + name + ".ecu" # self.ecu_scan.ecus = pickle.load(open(vehicle_file, "rb")) # jsonfile = open(vehicle_file, "r") eculist = json.loads(jsonfile.read()) jsonfile.close() self.treeview_ecu.clear() self.treeview_params.clear() if self.paramview: self.paramview.init(None) for ecu in eculist: item = gui.QListWidgetItem(ecu[0]) self.ecunamemap[ecu[0]] = ecu[1] self.treeview_ecu.addItem(item)
def rescan_ports(self): ports = elm.get_available_ports() if ports == None: self.listview.clear() self.ports = {} self.portcount = 0 return if len(ports) == self.portcount: return self.listview.clear() self.ports = {} self.portcount = len(ports) for p in ports: item = gui.QListWidgetItem(self.listview) itemname = p[0] + "[" + p[1] + "]" item.setText(itemname) self.ports[itemname] = (p[0], p[1]) self.timer.start(1000)
def equationsLayout(self): self.myQListWidget = QtGui.QListWidget(self) for index, name in self.equations: myQCustomQWidget = QCustomQWidget() myQCustomQWidget.setTextUp(index) myQCustomQWidget.setTextDown(name) myQListWidgetItem = QtGui.QListWidgetItem(self.myQListWidget) myQListWidgetItem.setSizeHint(myQCustomQWidget.sizeHint()) self.myQListWidget.addItem(myQListWidgetItem) self.myQListWidget.setItemWidget(myQListWidgetItem, myQCustomQWidget) self.myQListWidget.resize(400,300) self.myQListWidget.itemClicked.connect(self.Clicked) self.equationListVbox.addWidget(self.myQListWidget) return self.equationListVbox
def singleInput(self, variableExpression): '''Register a single input arc in the simulator. :param variableExpression: SNAKES Variable or Expression. ''' try: self.editor.mainWindow.simulator.net.add_input( self.srcConnector.parent.uniqueName, self.dstConnector.parent.uniqueName, variableExpression) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.black,2)) except ValueError: errorString = str( "ValueError must contain valid Python Syntax: e.g. x>1, %s" %( sys.exc_info()[1] ) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False except SyntaxError: errorString = str( "Expression must contain valid Python Syntax: e.g. x>1, %s" %( sys.exc_info()[1] ) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False except snakes.ConstraintError: errorString = str( "ConstraintError: already connected to %s" %(self.dstConnector.parent.name) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False return True #------------------------------------------------------------------------------------------------
def singleOutput(self, variableExpression): '''Register a multi input arc in the simulator. :param variableExpression: SNAKES Variable or Expression. ''' try: self.editor.mainWindow.simulator.net.add_output( self.dstConnector.parent.uniqueName, self.srcConnector.parent.uniqueName, variableExpression) if self.replaceExpression is not None: self.dstConnector.parent.replaceExpression = self.replaceExpression self.arcLine.setPen(QtGui.QPen(QtCore.Qt.black,2)) except ValueError: errorString = str( "ValueError: %s" %(sys.exc_info()[1]) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False except SyntaxError: errorString = str( "SyntaxError: %s" %(sys.exc_info()[1]) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False except snakes.ConstraintError: errorString = str( "ConstraintError: already connected to %s" %(self.dstConnector.parent.name) ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.editor.mainWindow.logWidget.addItem( item ) self.arcLine.setPen(QtGui.QPen(QtCore.Qt.red,2)) del self return False return True #------------------------------------------------------------------------------------------------
def checkTranistionActivation(self, transition, mode, currentStep): '''Check whether a SNAKES transition is activated. :param transition: SNAKES transition to check. :param mode: SNAKES mode to check for activation. :param currentStep: Step for which to calculate the activation :return activated: Activated True or False. ''' activated = False transition.setBrush(QtGui.QBrush(QtCore.Qt.white)) try: activated = self.net.transition( transition.uniqueName ).activated( mode ) transition.exceptionString = "" transition.setPen(QtGui.QPen(QtCore.Qt.black, 2)) transition.setBrush(QtGui.QBrush(QtCore.Qt.white)) except NameError: transition.exceptionString = "Step %d transition %s ACTIVATE Name Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setBrush(QtGui.QBrush(QtCore.Qt.darkRed)) pass except snakes.DomainError: transition.exceptionString = "Step %d transition %s ACTIVATE Domain Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setBrush(QtGui.QBrush(QtCore.Qt.darkRed)) pass except TypeError: transition.exceptionString = "Step %d transition %s ACTIVATE Type Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setBrush(QtGui.QBrush(QtCore.Qt.darkRed)) pass return activated #-------------------------------------------------------------------
def addSubnetEditor(self, subnet): '''Create a subnet editor. @param subnet: The string name of the substitution transition, name of the subnet ''' self.editorwidgets.append( SubnetDialog(mainWindow=self, parent=self, subnet=subnet) ) self.editors.append( self.editorwidgets[-1].editor ) self.editors[-1].colorListItems = [] self.editors[-1].colorListWidget.clear() for item in reversed( self.editors[0].colorListItems ): self.editors[-1].colorListWidget.addItem( QtGui.QListWidgetItem( str( item ) ) ) #------------------------------------------------------------------------------------------------
def dropEvent(self, event): '''Callback method, when an icon is dropped on the `gui.diagramScene`. :param event: `QtGui.dropEvent`. ''' if event.mimeData().hasFormat('component/name'): self.eventPosition = event.pos() if "token" in self.nodeType: self.validDrop() elif "transition" in self.nodeType: self.diag = NameDialog(parent=self, item="transition", title="Enter %s Name" % (self.nodeType[0].upper()+self.nodeType[1:]) , default="") self.diag.accepted.connect(self.validDrop) self.diag.show() elif "place" in self.nodeType: self.diag = NameDialog(parent=self, item="place", title="Enter %s Name" % (self.nodeType[0].upper()+self.nodeType[1:]) , default="") self.diag.accepted.connect(self.validDrop) self.diag.show() else: errorString = str( "no valid target, dropping aborted" ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.yellow) self.logWidget.addItem( item ) logging.warning(errorString) del self.diag del self.eventPosition del self.nodeType return #------------------------------------------------------------------------------------------------
def shortcutCreateNode(self): '''Create CPN elements with keyboard shortcuts.''' if "transition" in self.nodeType: if self.diag.checkBox.checkState() == 2: subnet = self.diag.getName() substitutionTransition = True else: subnet = self.subnet substitutionTransition = False self.mainWindow.simulator.uniqueNameBase += 1 b1 = TransitionItem( self, self.diag.getName(),QtCore.QPointF(), guardExpression = "True", substitutionTransition=substitutionTransition, uniqueName="t%d"%self.mainWindow.simulator.uniqueNameBase, subnet=subnet) # b1 = TransitionItem( self, self.diag.getName(), self.mouseScreenPos, net=self.mainWindow.simulator.net, guardExpression = "True", uniqueName="t%d"%self.mainWindow.simulator.uniqueNameBase) self.mainWindow.simulator.uniqueNameBase += 1 elif "place" in self.nodeType: b1 = PlaceItem( self, self.diag.getName(), self.mouseScreenPos, initMarking = [], uniqueName="p%d"%self.mainWindow.simulator.uniqueNameBase, subnet=self.subnet) self.mainWindow.simulator.uniqueNameBase += 1 else: errorString = str( "no valid target, dropping aborted" ) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.yellow) self.logWidget.addItem( item ) logging.warning(errorString) return self.diagramScene.addItem(b1) del self.diag del self.nodeType pass #------------------------------------------------------------------------------------------------
def deleteArc(self, editor, connection): '''Delete arc. :param editor: `gui.DiagramEditor` containing the `connection`. :param connection: `model.ArcItem` for deletion. ''' for c in self.mainWindow.simulator.connectionList: if c == connection: self.mainWindow.simulator.connectionList.remove( connection ) editor.visualConnectionList.remove( connection ) editor.diagramScene.removeItem( connection[1].label ) editor.diagramScene.removeItem( connection[1].arcLine ) editor.diagramScene.removeItem( connection[1].arrowPolygonObject ) try: if isinstance( connection[2].parent, TransitionItem ): self.mainWindow.simulator.net.remove_input( connection[0].parent.uniqueName , connection[2].parent.uniqueName ) elif isinstance( connection[2].parent, PlaceItem ): self.mainWindow.simulator.net.remove_output( connection[2].parent.uniqueName , connection[0].parent.uniqueName ) editor.diagramScene.removeItem( connection[1] ) except snakes.ConstraintError: errorString = str( "Constraint Error: %s"%(sys.exc_info()[1] )) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) logging.warning(errorString) except snakes.NodeError: errorString = str( "Node Error: %s"%(sys.exc_info()[1] )) item = QtGui.QListWidgetItem( errorString ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) logging.warning(errorString) #------------------------------------------------------------------------------------------------
def addNewTask(self): self.qListWidgetItem = QtGui.QListWidgetItem(self.listWidget) self.listWidget.addItem(self.qListWidgetItem) self.taskWidgetForm = TaskWidget() self.qListWidgetItem.setSizeHint(self.taskWidgetForm.minimumSizeHint()) self.listWidget.setItemWidget(self.qListWidgetItem, self.taskWidgetForm)
def refresh_list_view(self): self.remove_all_list() results = self.db_handler.get_all() for x in results: item = QtGui.QListWidgetItem('Title: ' + str(x['Title'])) item.setToolTip(str(x["_id"])) self.ui.center_widget.journalList.addItem(item)
def addLabel(self,name,color=None): item = QtGui.QListWidgetItem() if color: brush = QtGui.QBrush(color) brush.setStyle(QtCore.Qt.SolidPattern) item.setBackground(brush) brush = QtGui.QBrush(QtGui.QColor(255, 255, 255)) brush.setStyle(QtCore.Qt.SolidPattern) item.setForeground(brush) item.setText(name) self.listWidget.addItem(item) return item
def set_message(self, title, message): """ Show a message box with a :attr:`message` and a :attr:`title`. :param title: Title of the message box to be displayed. :type title: unicode :param message: Message in the message box. :type message: unicode """ self.ui.FunctionsBox.setTitle(_translate("Util", title, None)) self.ui.Functionlist.clear() item = QtGui.QListWidgetItem() item.setText(message) item.setFlags(QtCore.Qt.ItemIsEnabled) self.ui.Functionlist.addItem(item)
def set_make_message(self, message, start=0): """ List message for the current operating progress while making the new hosts file in function list. :param message: Message to be displayed in the function list. :type message: unicode :param start: A flag indicating whether the message is the first one in the making progress or not. Default value is `0`. ===== ============== start Status ===== ============== 0 Not the first. 1 First. ===== ============== :type start: int """ if start: self.ui.FunctionsBox.setTitle(_translate( "Util", "Progress", None)) self.ui.Functionlist.clear() item = QtGui.QListWidgetItem() item.setText("- " + message) item.setFlags(QtCore.Qt.ItemIsEnabled) self.ui.Functionlist.addItem(item)
def init_strategy_panel(self): strategy_files = sorted(glob.glob('%s/*.py' % strategy_path)) for file in strategy_files: base = os.path.splitext(os.path.basename(file))[0] item = QtGui.QListWidgetItem(base, self.ui_controller.strategyListWidget) item.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) self.ui_controller.strategyListWidget.addItem(item) self.ui_controller.strategyListWidget.customContextMenuRequested.connect(self.showMenu)
def _addMessageToChat(self, message, avatarPixmap): scrollToBottom = False if (self.chat.verticalScrollBar().value() == self.chat.verticalScrollBar().maximum()): scrollToBottom = True entry = ChatEntryWidget(message) entry.avatarLabel.setPixmap(avatarPixmap) listWidgetItem = QtGui.QListWidgetItem(self.chat) listWidgetItem.setSizeHint(entry.sizeHint()) self.chat.addItem(listWidgetItem) self.chat.setItemWidget(listWidgetItem, entry) self.chatEntries.append(entry) self.connect(entry, SIGNAL("mark_system"), self.parent.markSystemOnMap) if scrollToBottom: self.chat.scrollToBottom()
def __init__(self): super(UninstallWindow, self).__init__() self.setupUi(self) self.setWindowIcon(QtGui.QIcon('pip_gui/Resource_Files/googledev.png')) self.allPackages = json.load(open('pip_gui/Resource_Files/installedPackage' + fileVersion + '.json')) self.btnBack.clicked.connect(self.backFn) self.btnUninstallAll.clicked.connect(self.uninstallAllFn) self.btnUninstall.clicked.connect(self.uninstallFn) # global allPackages for i in self.allPackages: self.item = QtGui.QListWidgetItem(i) self.listWidget.addItem(self.item)
def textChange(self, i): self.matchedList = list() self.searchStr = i self.listWidget.clear() for i in self.packages: if self.searchStr in i: self.matchedList.append(i) for i in self.matchedList: self.item = QtGui.QListWidgetItem(i) self.listWidget.addItem(self.item)
def actualizarLista(self, lista): self.listaList.clear() for i in range(0, len(lista)): itemDeLista = QtGui.QListWidgetItem() itemDeLista.setText(lista[i]["titulo"]) self.listaList.insertItem(i, itemDeLista)
def __init__(self): super(QtGui.QListWidgetItem, self).__init__() # Set the of the filter to be either
def resultitemchanged(self, new_item): self.IDC_textDetails.setText('') self.IDC_listRessources.clear() self.IDC_plainTextLink.clear() if new_item is None: return package = new_item.data(Qt.UserRole) self.cur_package = package if package is None: return self.IDC_textDetails.setText( u'{0}\n\n{1}\n{2}\n\n{3}'.format( package.get('notes', 'no notes'), package.get('author', 'no author'), package.get('author_email', 'no author_email'), package.get('license_id', 'no license_id') ) ) if package.get('num_resources', 0) > 0: for res in package['resources']: item = QListWidgetItem(u'{0}: {1}'.format( res.get('format', 'no format') , res.get('name', 'no name') )) item.setData(Qt.UserRole, res) item.setCheckState(Qt.Unchecked) self.IDC_listRessources.addItem(item)
def addCapture(msg, ind, status=0): #list capturing iteminfo = QtGui.QListWidgetItem(msg) iteminfo.setWhatsThis(str(ind)) if status == 1: iteminfo.setBackground(QtGui.QColor('red')) if status == 2: iteminfo.setBackground(QtGui.QColor('green')) formmain.lstCapture.addItem(iteminfo)
def saveEquation(self): for i in reversed(range(self.equationListVbox.count())): self.equationListVbox.itemAt(i).widget().setParent(None) eqn = unicode(self.textedit.toPlainText()) if len(self.equations) == 1: index, name = self.equations[0] if index == "No equations stored": self.equations[0] = ("Equation No. 1", eqn) else: self.equations.append(("Equation No. 2", eqn)) else: self.equations.append(("Equation No. " + str(len(self.equations) + 1), eqn)) self.textedit.setText('') file = open('tmp/eqn-list.vis', 'r+') self.myQListWidget = QtGui.QListWidget(self) i = 0 for index, name in self.equations: if i != 0: file.write("\n") file.write(name) myQCustomQWidget = QCustomQWidget() myQCustomQWidget.setTextUp(index) myQCustomQWidget.setTextDown(name) myQListWidgetItem = QtGui.QListWidgetItem(self.myQListWidget) myQListWidgetItem.setSizeHint(myQCustomQWidget.sizeHint()) self.myQListWidget.addItem(myQListWidgetItem) self.myQListWidget.setItemWidget(myQListWidgetItem, myQCustomQWidget) i += 1 file.close() self.myQListWidget.resize(400,300) self.myQListWidget.itemClicked.connect(self.Clicked) self.equationListVbox.addWidget(self.myQListWidget) return self.equationListVbox
def addEquation(self): eqn = unicode(self.textedit.toPlainText()) for index, equation in self.equations: if equation == eqn: return self.equationListVbox for i in reversed(range(self.equationListVbox.count())): self.equationListVbox.itemAt(i).widget().setParent(None) if len(self.equations) == 1: index, name = self.equations[0] if index == "No equations stored": self.equations[0] = ("Equation No. 1", eqn) else: self.equations.append(("Equation No. 2", eqn)) else: self.equations.append(("Equation No. " + str(len(self.equations) + 1), eqn)) file = open('tmp/eqn-list.vis', 'r+') self.myQListWidget = QtGui.QListWidget(self) i = 0 for index, name in self.equations: if i != 0: file.write("\n") file.write(name) myQCustomQWidget = QCustomQWidget() myQCustomQWidget.setTextUp(index) myQCustomQWidget.setTextDown(name) myQListWidgetItem = QtGui.QListWidgetItem(self.myQListWidget) myQListWidgetItem.setSizeHint(myQCustomQWidget.sizeHint()) self.myQListWidget.addItem(myQListWidgetItem) self.myQListWidget.setItemWidget(myQListWidgetItem, myQCustomQWidget) i += 1 file.close() self.myQListWidget.resize(400,300) self.myQListWidget.itemClicked.connect(self.Clicked) self.equationListVbox.addWidget(self.myQListWidget) return self.equationListVbox
def save_url(self): all_website_urls = [data.url for data in self.all_url] print(all_website_urls) if self.datawrapper.url not in all_website_urls: self.all_url.append(self.datawrapper) item = QtGui.QListWidgetItem(self.datawrapper.posturl) self.Urls_listWidget.addItem(item)
def openFile(self, dst): dst.sort() for x in dst: item = QtGui.QListWidgetItem(str(x), self) item.setFlags(item.flags() | QtCore.Qt.ItemIsSelectable) self.setSelectionMode(QtGui.QListWidget.MultiSelection)
def addItem(self, Text): try: self.item = QtGui.QListWidgetItem(Text) self.ui.listWidget.addItem(self.item) self.ui.listWidget.scrollToBottom() except Exception as _err: print ('Fehler') print (_err)
def checkTransitionEnabled(self, transition, mode, currentStep, activated, transitions2Fire): '''Check whether a SNAKES transition is enabled. :param transition: SNAKES transition to check. :param mode: SNAKES mode to check for activation. :param currentStep: Step for which to calculate the enabling. :param activated: Flag that determines, whether `transition` is activated. :param transitions2Fire: List of SNAKES transitions enabled to fire. :return enabled: Enabled True or False. ''' enabled = False if activated: transition.exceptionString = "" try: enabled = self.net.transition( transition.uniqueName ).enabled( mode ) transition.exceptionString = "" transition.setPen(QtGui.QPen(QtCore.Qt.green, 4)) except NameError: transition.exceptionString = "Step %d transition %s ENABLE Name Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setPen(QtGui.QPen(QtCore.Qt.red, 4)) pass except snakes.DomainError: transition.exceptionString = "Step %d transition %s ENABLE Domain Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setPen(QtGui.QPen(QtCore.Qt.red, 4)) pass except TypeError: transition.exceptionString = "Step %d transition %s ENABLE Type Error %s"%( currentStep, transition.uniqueName, sys.exc_info()[1]) item = QtGui.QListWidgetItem( str( transition.exceptionString ) ) item.setTextColor(QtCore.Qt.red) self.mainWindow.logWidget.addItem( item ) transition.setPen(QtGui.QPen(QtCore.Qt.red, 4)) pass if enabled: if not [transition.uniqueName, mode] in transitions2Fire: transitions2Fire.append( [transition, mode] ) return enabled #-------------------------------------------------------------------
def lookupSubstitutionConnectors(self, subnetConnections): '''Lookup and substitute connectors. :param subnetConnections: List of connection in subnet for inter subnet processing. ''' lengthSubnetConnections = len( subnetConnections ) lengthSubnetSimulator = len( self.simulator.subnets ) for idx in range( lengthSubnetSimulator, lengthSubnetConnections + lengthSubnetSimulator ): for subArc in subnetConnections[idx - lengthSubnetSimulator]: foundSrcConnector = False foundDstConnector = False for place in self.editors[idx].visualPlaces: if not foundSrcConnector: if str( place.uniqueName ) == str( subArc[0] ) and not isinstance( subArc[3], Connector ): subArc[3] = place.connectorList[ int( subArc[3] ) ] foundSrcConnector = True elif isinstance( subArc[3], Connector ) and not isinstance( subArc[4], Connector ): foundSrcConnector = True if not foundDstConnector: if str( place.uniqueName ) == str( subArc[1] ) and not isinstance( subArc[4], Connector ): subArc[4] = place.connectorList[ int( subArc[4] ) ] foundDstConnector = True elif isinstance( subArc[4], Connector ) and not isinstance( subArc[3], Connector ): foundDstConnector = True for transition in self.editors[idx].visualTransitions: if not foundSrcConnector: if str( transition.uniqueName ) == str( subArc[0] ) and not isinstance( subArc[3], Connector ): subArc[3] = transition.connectorList[ int( subArc[3] ) ] foundSrcConnector = True elif isinstance( subArc[3], Connector ) and not isinstance( subArc[4], Connector ): foundSrcConnector = True if not foundDstConnector: if str( transition.uniqueName ) == str( subArc[1] ) and not isinstance( subArc[4], Connector ): subArc[4] = transition.connectorList[ int( subArc[4] ) ] foundDstConnector = True elif isinstance( subArc[4], Connector ) and not isinstance( subArc[3], Connector ): foundDstConnector = True if foundSrcConnector and foundDstConnector: newArc = self.setArc(self.editors[idx], subArc[3], subArc[4], subArc[2]) # print("FOUND Arc", subArc[3].parent.uniqueName, newArc, subArc[4].parent.uniqueName, subArc[3].idx , subArc[4].idx ) logging.debug("Found Arc %s %s %s %d %d "%( subArc[3].parent.uniqueName, newArc, subArc[4].parent.uniqueName, subArc[3].idx , subArc[4].idx ) ) self.simulator.connectionList.append( [subArc[3].parent, newArc, subArc[4].parent, subArc[3].idx , subArc[4].idx] ) infoString = "Arc Connection added. Source Unique Name: %s - Source Name: %s - Destination Unique Name: %s - Destination Name: %s - Annotation: %s"%(subArc[3].parent.uniqueName, subArc[3].parent.name, subArc[4].parent.uniqueName, subArc[4].parent.name, newArc.name) item = QtGui.QListWidgetItem( infoString ) item.setTextColor(QtCore.Qt.green) self.logWidget.addItem( item ) #------------------------------------------------------------------------------------------------
def scan(self): msgBox = gui.QMessageBox() msgBox.setText(_('Scan options')) scancan = False scancan2 = False scankwp = False canbutton = gui.QPushButton('CAN') kwpbutton = gui.QPushButton('KWP') cancelbutton = gui.QPushButton('CANCEL') msgBox.addButton(canbutton, gui.QMessageBox.ActionRole) msgBox.addButton(kwpbutton, gui.QMessageBox.ActionRole) msgBox.addButton(cancelbutton, gui.QMessageBox.NoRole) msgBox.exec_() if msgBox.clickedButton() == cancelbutton: return if msgBox.clickedButton() == canbutton: self.logview.append(_("Scanning CAN")) scancan = True if msgBox.clickedButton() == kwpbutton: self.logview.append(_("Scanning KWP")) scankwp = True progressWidget = gui.QWidget(None) progressLayout = gui.QVBoxLayout() progressWidget.setLayout(progressLayout) self.progressstatus.setRange(0, self.ecu_scan.getNumAddr()) self.progressstatus.setValue(0) self.ecu_scan.clear() if scancan: self.ecu_scan.scan(self.progressstatus, self.infostatus) if scankwp: self.ecu_scan.scan_kwp(self.progressstatus, self.infostatus) self.treeview_ecu.clear() self.treeview_params.clear() self.ecunamemap = {} if self.paramview: self.paramview.init(None) for ecu in self.ecu_scan.ecus.keys(): self.ecunamemap[ecu] = self.ecu_scan.ecus[ecu].name item = gui.QListWidgetItem(ecu) if '.xml' in self.ecu_scan.ecus[ecu].href.lower(): item.setForeground(core.Qt.yellow) else: item.setForeground(core.Qt.green) self.treeview_ecu.addItem(item) for ecu in self.ecu_scan.approximate_ecus.keys(): self.ecunamemap[ecu] = self.ecu_scan.approximate_ecus[ecu].name item = gui.QListWidgetItem(ecu) item.setForeground(core.Qt.red) self.treeview_ecu.addItem(item) self.progressstatus.setValue(0)
def CREATE_LISTS(self): # ------------------------------------------------------------------- try: self.ORDERS_LIST_SELL.clear(); self.ORDERS_LIST_BUY.clear(); for ID in self.ORDERS_FROM_DB: item = ""; item += "#{:11} DEL".format( str(ID) ); # order_id item += "{:7} DEL".format( self.ORDERS_FROM_DB[ID]["pair"] ); # type item += "{:13} DEL".format( str("{:10,.6f}".format( self.ORDERS_FROM_DB[ID]["amount"] )).strip() ); # Amount item += "{:13} DEL".format( str("{:10,.6f}".format( self.ORDERS_FROM_DB[ID]["at_price"] )).strip() ); # at_price newItemToolTip = "Order ID: #"+str(ID)+" Created: "+time.ctime( self.ORDERS_FROM_DB[ID]["unix_time"] ); if self.ORDERS_FROM_DB[ID]["type"] == "buy": ttl = self.ORDERS_FROM_DB[ID]["amount"] - (self.ORDERS_FROM_DB[ID]["amount"]/100*self.PARENT.FEE); item += "{:13}".format( str("{:10,.6f}".format( ttl )).strip() ); # ttl_usd newItem = QListWidgetItem( QIcon("./data/imgs/icon_filled_status_0.png"), item.replace("DEL", self._i_), self.ORDERS_LIST_BUY, 0); newItem.setToolTip(newItemToolTip); elif self.ORDERS_FROM_DB[ID]["type"] == "sell": ttl = self.ORDERS_FROM_DB[ID]["at_price"]*self.ORDERS_FROM_DB[ID]["amount"]; ttl -= (ttl/100*self.PARENT.FEE); item += "{:13}".format( str("{:10,.6f}".format( ttl )).strip() ); # ttl_usd newItem = QListWidgetItem( QIcon("./data/imgs/icon_filled_status_0.png"), item.replace("DEL", self._i_), self.ORDERS_LIST_SELL, 0); newItem.setToolTip(newItemToolTip); except Exception as _exception: print("FRAME_ORDER.CREATE_LISTS: "+str(_exception)); # ------------------------------------------------------------------- # =======================================================================