def renderTimes(self) -> None: self.cliplist.clear() self.seekSlider.setCutMode(self.inCut) if len(self.clipTimes) > 4: self.cliplist.setFixedWidth(200) else: self.cliplist.setFixedWidth(185) self.totalRuntime = 0 for item in self.clipTimes: endItem = '' if type(item[1]) is QTime: endItem = item[1].toString(self.timeformat) self.totalRuntime += item[0].msecsTo(item[1]) listitem = QListWidgetItem() listitem.setTextAlignment(Qt.AlignVCenter) if type(item[2]) is QPixmap: listitem.setIcon(QIcon(item[2])) self.cliplist.addItem(listitem) marker = QLabel( '''<style>b { font-size:8pt; } p { margin:5px; }</style> <p><b>START</b><br/>%s</p><p><b>END</b><br/>%s</p>''' % (item[0].toString(self.timeformat), endItem)) self.cliplist.setItemWidget(listitem, marker) listitem.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled | Qt.ItemIsEnabled) if len(self.clipTimes) and not self.inCut: self.saveAction.setEnabled(True) if self.inCut or len(self.clipTimes) == 0 or not type( self.clipTimes[0][1]) is QTime: self.saveAction.setEnabled(False) self.setRunningTime( self.deltaToQTime(self.totalRuntime).toString(self.timeformat))
def asQListWidgetItem(self): listItem = QListWidgetItem(self.text_for_patch, None, 0) listItem.setFlags(listItem.flags() | Qt.ItemIsUserCheckable) # We can't set the hidden status until the item is actually in a list listItem.setData(Qt.UserRole, self.patchid) return listItem
def createIcons(self): poButton = QListWidgetItem(self.contentsWidget) # poButton.setIcon(QIcon('PO.jpg')) poButton.setIcon(QIcon('PO.png')) poButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) nPoButton = QListWidgetItem(self.contentsWidget) nPoButton.setIcon(QIcon('NPO.png')) nPoButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) moreButton = QListWidgetItem(self.contentsWidget) moreButton.setIcon(QIcon('MORE.png')) moreButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) moreButton.setToolTip('这是MORE按钮') settingButton = QListWidgetItem(self.contentsWidget) settingButton.setIcon(QIcon('Setting.png')) settingButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) settingButton.setToolTip('这是设定按钮') informationButton = QListWidgetItem(self.contentsWidget) informationButton.setIcon(QIcon('information.png')) informationButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) informationButton.setToolTip('这是工具信息按钮') # 为contentsWidget界面切换添加changePage响应 self.contentsWidget.currentItemChanged.connect(self.changePage)
def _add_filter(self): _name = GuiUtils.input_dialog(self, 'Filter', 'Add filter:') if _name: _item = QListWidgetItem(_name) _item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable) self._filter.addItem(_item) self._save_filter()
def display_filter(self, filter_list_): """...""" self._filter.clear() for _name in filter_list_: _item = QListWidgetItem(_name) _item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable) self._filter.addItem(_item)
def fill(self, items, get_name: Callable, get_color: Callable = None): self._ui.clear() self._items.clear() for item in items: name = get_name(item) q_item = QListWidgetItem(name) if get_color: size = 13 image = np.full(shape=(size, size, 3), fill_value=get_color(item), dtype=np.uint8) image = QImage(image.data, image.shape[1], image.shape[0], image.strides[0], QImage.Format_RGB888) pixmap = QPixmap(image) q_item.setIcon(QIcon(pixmap)) q_item.setData(Qt.UserRole, item) if self._checkable: q_item.setCheckState(Qt.Unchecked) # From 'default item flags' remove flag allowing user to directly change item's checkbox status. # The status is exclusively controlled by _on_item_clicked callback, # so if user clicks within list item boundaries (not only checkbox), the status will be changed. q_item.setFlags(q_item.flags() & ~Qt.ItemIsUserCheckable) # Leaving ItemIsUserCheckable flag enabled, causes problems when user clicks on checkbox # - two callbacks are launched: # - first - controlled by the flag - checks/unchecks checkbox directly, # - second - defined by us (_on_item_clicked) also checks/unchecks checkbox. # In that case user DOES NOT see the change of checkbox status, because # checkbox is checked by first callback and unchecked by second one (or the other way around) # and list of checked items effectively stays unchanged, # while causing side effects (eg. invocation of on_list_item_clicked_callback). self._items.append(q_item) self._ui.addItem(q_item)
def addPiece(self, pixmap, location): pieceItem = QListWidgetItem(self) pieceItem.setIcon(QIcon(pixmap)) pieceItem.setData(Qt.UserRole, pixmap) pieceItem.setData(Qt.UserRole + 1, location) pieceItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
def notify(self): self.clear() for game_name in self.__view_model.game_names: list_item = QListWidgetItem(game_name) flags = list_item.flags() list_item.setFlags(flags | QtCore.Qt.ItemIsSelectable) self.addItem(list_item)
def load_endpoints(self): self.choose_endpoint.endpoints.clear() for name in listdir(str(BASE_PATH / 'endpoints')): if name.endswith('.json'): item = QListWidgetItem( name.split('.json')[0], self.choose_endpoint.endpoints) item.setFlags(item.flags() & ~Qt.ItemIsEnabled) pb_msg_to_endpoints = defaultdict(list) with open(str(BASE_PATH / 'endpoints' / name)) as fd: for endpoint in load(fd): pb_msg_to_endpoints[endpoint['request']['proto_msg']. split('.')[-1]].append(endpoint) for pb_msg, endpoints in pb_msg_to_endpoints.items(): item = QListWidgetItem(' ' * 4 + pb_msg, self.choose_endpoint.endpoints) item.setFlags(item.flags() & ~Qt.ItemIsEnabled) for endpoint in endpoints: item = QListWidgetItem( ' ' * 8 + (urlparse(endpoint['request']['url']).path or '/'), self.choose_endpoint.endpoints) item.setData(Qt.UserRole, endpoint) self.set_view(self.choose_endpoint)
def _setSearch(self, ip_addr): """ Load the daemon to the search area - inner function """ _item = QListWidgetItem() _item.setText(ip_addr) _item.setFlags(_item.flags() | Qt.ItemIsUserCheckable) _item.setCheckState(Qt.Checked) self.search.addItem(_item)
def _update_items_list(self): self.ui.itemsList.clear() for item in items_list: itm = QListWidgetItem(str(item)) itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) itm.setCheckState(Qt.Checked if item.is_checked else Qt.Unchecked) self.ui.itemsList.addItem(itm)
def updateList(self): self.portList.clear() self.backup_indixes = list(self.gui.song.outputsPorts) for name in self.backup_indixes: this_item = QListWidgetItem(name) this_item.setFlags(this_item.flags()) self.portList.addItem(this_item)
def update_table_list(self): """Update the list of tables in the docket widget""" lw_list = self.parent.populate.get_lw_list() if self.tables_in_db != 0: model = self.TMD.SATables.model() for item in self.items_in_table: qIndex = self.TMD.SATables.indexFromItem(item) model.removeRow(qIndex.row()) self.tables_in_db = 0 for lw, schema in lw_list: table_names = self.db.get_tables_in_db(schema) for name in table_names: if str(name) in [ 'harrowing_manual', 'plowing_manual', 'manual' ]: continue item_name = schema + '.' + str(name) testcase_name = QtCore.QCoreApplication.translate( "qadashboard", item_name, None) item = QListWidgetItem(testcase_name, self.TMD.SATables) item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable) item.setCheckState(QtCore.Qt.Unchecked) self.tables_in_db += 1 self.items_in_table = self.TMD.SATables.findItems( '', QtCore.Qt.MatchContains)
def openDir(self): dir_path = QFileDialog.getExistingDirectory(self, 'Open Folder', self.path_prefix) if not os.path.isdir(dir_path): QMessageBox.about(self, 'Warning', '请选择包含用于训练排序的输入图片文件夹!') return #导入图片到file_list if self.curr_dir_path == dir_path: return self.curr_dir_path = dir_path self.curr_img_idx = None self.file_list = sorted( [name for name in os.listdir(dir_path) if self._is_img(name)]) self.file_list_order = self.file_list #初始化ivs的scribbles大小 self.scribbles['scribbles'] = [[] for _ in range(len(self.file_list))] if not self.file_list: QMessageBox.about(self, 'Warning', '输入图片不能为空!') return self.ui.listWidget_file.clear() self.curr_img_idx = None for idx, file_path in enumerate(self.file_list): item = QListWidgetItem(file_path) item.setFlags(item.flags() ^ Qt.ItemIsUserCheckable) # if self._has_label_file(idx): # item.setCheckState(Qt.Checked) # else: # item.setCheckState(Qt.Unchecked) self.ui.listWidget_file.addItem(item) init_idx = 0 self._switch_img(init_idx) self.isExisting = False self.initAnno()
def finishCompute(self, frames_list): self.ui.progressBar.setMaximum(1) self.hasCompute = True #self.ui.progressBar.setProperty("value",1) self.ui.pushButton_open.setEnabled(True) self.ui.spinBox_iter.setEnabled(True) self.ui.comboBox_model.setEnabled(True) self.ui.pushButton_showbubble.setEnabled(True) self.isExisting = False sys.stdout = self.old_stdout sys.stderr = self.old_stderr self.framse_rank = frames_list top_frame = self.file_list_order[self.framse_rank[0]] top_id = top_frame.split('.')[0] for i in self.framse_rank: self.rank_file_list.append(self.file_list_order[i]) print('rank_file_list:') print(self.rank_file_list) self.file_list = self.rank_file_list self.ui.label_result.setText('最佳性能帧为:{} {}'.format(top_id, top_frame)) self.ui.listWidget_file.clear() for idx, file_path in enumerate(self.file_list): item = QListWidgetItem(file_path) item.setFlags(item.flags() ^ Qt.ItemIsUserCheckable) # if self._has_label_file(idx): # item.setCheckState(Qt.Checked) # else: # item.setCheckState(Qt.Unchecked) self.ui.listWidget_file.addItem(item) init_idx = 0 self._switch_img(init_idx)
def loadDir(self, filepath=None): if not filepath: return self.filename = '' self.listWidget_files.clear() def scanImages(filepath): extensions = [ '.%s' % fmt.data().decode("ascii").lower() for fmt in QImageReader.supportedImageFormats() ] images = [] for root, dirs, files in os.walk(filepath): for file in files: if file.lower().endswith(tuple(extensions)): relativePath = os.path.join(root, file) images.append(relativePath) return sorted(images, key=lambda x: x.lower()) for filename in scanImages(filepath): # label_file = osp.splitext(filename)[0] + '.json' # if self.output_dir: # label_file_without_path = osp.basename(label_file) # label_file = osp.join(self.output_dir, label_file_without_path) item = QListWidgetItem(filename) item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) self.listWidget_files.addItem(item) self.filename = self.imageList[0] if self.imageList else ''
def show_jobs_from_hub_dialog(self): """ Opens an new dialog to select available jobs from the openEO Hub. The user can then select one of them and adapt them or create a job out of them. """ self.example_hub_jobs = get_hub_jobs() # Open a window, where desired job can be selected self.hub_jobs_window = QDialog(parent=self) hbox6 = QHBoxLayout() self.exampleJobBox = QListWidget() for job in self.example_hub_jobs: job_item = QListWidgetItem(self.exampleJobBox) job_item.setFlags( job_item.flags() | QtCore.Qt.ItemIsSelectable) # only one item can be selected this time job_item.setSelected(False) job_item.setText(job.title) # add Titles as QListWidgetItems self.exampleJobBox.setMinimumWidth(500) close_window_btn = QPushButton('Show process graph \n and close window') hbox6.addWidget(self.exampleJobBox) hbox6.addWidget(close_window_btn) close_window_btn.clicked.connect(self.pick_job_from_hub) self.hub_jobs_window.setLayout(hbox6) self.hub_jobs_window.setWindowTitle('Select a Job') self.hub_jobs_window.show()
def renderClips(self, cliptimes: list) -> int: self.clear() externalCount = 0 for index, clip in enumerate(cliptimes): chapterName, endItem = '', '' if isinstance(clip[1], QTime): endItem = clip[1].toString(self.parent.timeformat) self.parent.totalRuntime += clip[0].msecsTo(clip[1]) listitem = QListWidgetItem(self) listitem.setToolTip('Drag to reorder clips') if len(clip[3]): listitem.setToolTip(clip[3]) externalCount += 1 if self.parent.createChapters: chapterName = clip[4] if clip[ 4] is not None else 'Chapter {}'.format(index + 1) listitem.setStatusTip( 'Reorder clips with mouse drag & drop or right-click menu on the clip to be moved' ) listitem.setTextAlignment(Qt.AlignVCenter) listitem.setData(Qt.DecorationRole + 1, clip[2]) listitem.setData(Qt.DisplayRole + 1, clip[0].toString(self.parent.timeformat)) listitem.setData(Qt.UserRole + 1, endItem) listitem.setData(Qt.UserRole + 2, clip[3]) listitem.setData(Qt.UserRole + 3, chapterName) listitem.setFlags(Qt.ItemIsSelectable | Qt.ItemIsDragEnabled | Qt.ItemIsEnabled) self.addItem(listitem) if isinstance(clip[1], QTime) and not len(clip[3]): self.parent.seekSlider.addRegion( clip[0].msecsSinceStartOfDay(), clip[1].msecsSinceStartOfDay()) return externalCount
def show_filters(self, filters_dict): for index, key in enumerate(filters_dict): if key == SEARCH_ITEM_NAME: self.filters_list.insertItem(0, key) else: self.filters_list.addItem(key) self.filters_list.item(index).setToolTip(key) self.filters_list.item(0).setText(self.filters_list.item(0).text().capitalize()) # add separator after first item separator = QFrame() separator.setFrameShape(QFrame.HLine) separator.setObjectName('separator') item_separator = QListWidgetItem() item_separator.setFlags(Qt.NoItemFlags) self.filters_list.insertItem(1, item_separator) self.filters_list.setItemWidget(item_separator, separator) self.filters_list.setCurrentItem( self.filters_list.findItems( MY_ISSUES_ITEM_NAME, Qt.MatchExactly )[0]) self.filters_list.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) self.on_filter_selected(self.filters_list.currentItem())
def load_list(self): for char in self.characters: li = QListWidgetItem(char.listName) li.setFlags(li.flags() | Qt.ItemIsEditable) self.listWidget.addItem(li)
def populate_with_montage(self, montage): self._clear() for i, entry in enumerate(montage.ch_names): item = QListWidgetItem(entry) item.setData(QtCore.Qt.UserRole, montage.pos[i]) item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable) self.addItem(item)
def updateList(self): self.portList.clear() self.backup_indixes = list(self.gui.song.outputsPorts) for name in self.backup_indixes: this_item = QListWidgetItem(name) this_item.setFlags(this_item.flags()) self.portList.addItem(this_item)
def createLeftBind(self): bindWidget = QListWidget() bindWidget.setSpacing(5) azoneButton = QListWidgetItem(bindWidget) azoneButton.setText("添加域") azoneButton.setTextAlignment(Qt.AlignHCenter) azoneButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) zoneButton = QListWidgetItem(bindWidget) zoneButton.setText("域管理") zoneButton.setTextAlignment(Qt.AlignHCenter) zoneButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) aviewButton = QListWidgetItem(bindWidget) aviewButton.setText("添加视图") aviewButton.setTextAlignment(Qt.AlignHCenter) aviewButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) viewButton = QListWidgetItem(bindWidget) viewButton.setText("视图管理") viewButton.setTextAlignment(Qt.AlignHCenter) viewButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) ipbeButton = QListWidgetItem(bindWidget) ipbeButton.setText("IP归属地") ipbeButton.setTextAlignment(Qt.AlignHCenter) ipbeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) return bindWidget
def new_equipment(self) -> None: item = QListWidgetItem('') self.app.ui.EquipmentTemplatesListWidget.addItem(item) self.app.ui.EquipmentTemplatesListWidget.setCurrentItem(item) item.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable) self.app.ui.EquipmentTemplatesListWidget.editItem(item)
def copy_to_common_tags(self, index: QModelIndex) -> None: if not self.tagList.findItems( index.data(), Qt.MatchFixedString | Qt.MatchCaseSensitive): item = QListWidgetItem(self.tagList) item.setText(index.data()) item.setCheckState(Qt.Unchecked) item.setFlags(item.flags() | Qt.ItemIsEditable)
def makeList(self, datelist): for dt in datelist: item = QListWidgetItem() item.setText(dt) item.setFlags(item.flags() | Qt.ItemIsUserCheckable) item.setCheckState(Qt.Unchecked) self.listwdg.addItem(item)
def addItem(self, item: QListWidgetItem) -> None: """TODO""" prev = self.item(self.count() - 1) if prev: item.setFlags(prev.flags()) super().addItem(item) self._items.append(item)
def scenario_display(self, scenario): """ This function is called when scenario_selected changed """ # first, clear the scenario_display self.scenario_display_clear() # display a nice string to explain which is the default output for the whole scenario self.scenario_out_display(scenario) # display the description of the scenario self.scenario_description.setText(scenario.description) if scenario.events != []: # scenario contains events for event in scenario.events: line = event.command line = self.line_to_command(event.command) if event.__class__.__name__ == 'ScenarioPlay': line = "Play Scenario " + line if event.__class__.__name__ == 'MidiNote': line = "Play MIDI Note " + line line = QListWidgetItem(line) line.setFlags(Qt.ItemIsEnabled|Qt.ItemIsEditable|\ Qt.ItemIsSelectable|Qt.ItemIsDragEnabled) self.scenario_content.addItem(line) # add an empty item at the end. # It will be used to create a new event, just typing into it. empty = QListWidgetItem() empty.setFlags(Qt.ItemIsEnabled|Qt.ItemIsEditable|\ Qt.ItemIsSelectable|Qt.ItemIsDragEnabled) self.scenario_content.addItem(empty)
def displayPicture(self, item): pic_id, index = item.data(0) picture = self.PL.getPictureWithID(pic_id) self.cur_displayed_picture = QPixmap(picture.file_path) self.cur_displayed_picture_index = index self.cur_displayed_picture_id = pic_id picture_scaled = self.cur_displayed_picture.scaled( self.view_photo_widget.picture_lb.sizeHint(), Qt.KeepAspectRatio) self.view_photo_widget.picture_lb.setPixmap(picture_scaled) self.view_photo_widget.face_list.clear() faces = self.PL.getFacesInPicture(pic_id) if faces is None: return for face in faces: face_item = QListWidgetItem(self.view_photo_widget.face_list) icon = QIcon(face.sample_path) face_item.setIcon(icon) if face.person_id is None: face_item.setText('Unknown') else: person = self.PL.getPersonById(face.person_id) face_item.setText(person.name) face_item.setData(Qt.UserRole, face) face_item.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable) self.view_photo_widget.face_list.addItem(face_item) self.view_photo_widget.show()
def __init__(self, parent=None, name=None, modal=False): """ Constructor @param parent parent widget of this dialog (QWidget) @param name name of this dialog (string) @param modal flag to indicate a modal dialog (boolean) """ super(VariablesFilterDialog, self).__init__(parent) if name: self.setObjectName(name) self.setModal(modal) self.setupUi(self) self.defaultButton = self.buttonBox.addButton( self.tr("Save Default"), QDialogButtonBox.ActionRole) #populate the list widgets and set the default selection for widget in self.localsList, self.globalsList: for varType, varTypeStr in ConfigVarTypeDispStrings.items(): itm = QListWidgetItem(self.tr(varTypeStr), widget) itm.setData(Qt.UserRole, ConfigVarTypeFilters[varType]) itm.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) itm.setCheckState(Qt.Unchecked) widget.addItem(itm) lDefaultFilter, gDefaultFilter = Preferences.getVarFilters() self.setSelection(lDefaultFilter, gDefaultFilter)
def initCategories(self): generalButton = QListWidgetItem(self.categories) generalButton.setIcon(QIcon(':/images/settings-general.png')) generalButton.setText('General') generalButton.setToolTip('General settings') generalButton.setTextAlignment(Qt.AlignHCenter) generalButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) videoButton = QListWidgetItem(self.categories) videoButton.setIcon(QIcon(':/images/settings-video.png')) videoButton.setText('Video') videoButton.setToolTip('Video settings') videoButton.setTextAlignment(Qt.AlignHCenter) videoButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) themeButton = QListWidgetItem(self.categories) themeButton.setIcon(QIcon(':/images/settings-theme.png')) themeButton.setText('Theme') themeButton.setToolTip('Theme settings') themeButton.setTextAlignment(Qt.AlignHCenter) themeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) ffmpegButton = QListWidgetItem(self.categories) ffmpegButton.setIcon(QIcon(':/images/settings-ffmpeg.png')) ffmpegButton.setText('Tools') ffmpegButton.setToolTip('Tools settings') ffmpegButton.setTextAlignment(Qt.AlignHCenter) ffmpegButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) logsButton = QListWidgetItem(self.categories) logsButton.setIcon(QIcon(':/images/settings-logs.png')) logsButton.setText('Logs') logsButton.setToolTip('Logging settings') logsButton.setTextAlignment(Qt.AlignHCenter) logsButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.categories.currentItemChanged.connect(self.changePage) self.categories.setCurrentRow(0) self.categories.setMaximumWidth( self.categories.sizeHintForColumn(0) + 2)
def list_jobs(self): self.lwJobs.clear() self.jobs = handler.list_jobs() if self.jobs is None: self.lwJobs.addItem(f'Nothing running for {USERNAME} now') return # Group jobs by their name. # This step is required as jobs belonging together are not necessarily # allocated together: it might be that a job launches a related job # at a later point. groups: Dict[str, List[Tuple[int, Dict[str, str]]]] = defaultdict(list) for job_id, properties in self.jobs.items(): groups[properties['JobName']].append((job_id, properties)) for group in groups.values(): for job_id, properties in group: line = job_id + ' ' line += properties['JobState'].ljust(12) line += properties['StartTime'].ljust(22) line += properties['RunTime'].ljust(12) line += properties['NodeList'].ljust(14) line += properties['JobName'] item = QListWidgetItem() item.setFlags(item.flags() | Qt.ItemIsUserCheckable) item.setCheckState(Qt.Unchecked) item.setText(line) self.lwJobs.addItem(item) self.lwJobs.addItem('') # Add a blank line between groups
def readSettings(self): self.inputTextList.clear() entries = settings.metricsWindowComboBoxItems() for entry in entries: item = QListWidgetItem(entry, self.inputTextList) item.setFlags(item.flags() | Qt.ItemIsEditable) if not len(entries): self.removeItemButton.setEnabled(False)
def addCategory(self, title): item = QListWidgetItem(title) item.setBackground(QBrush(lightBlue())) item.setForeground(QBrush(Qt.darkBlue)) item.setFlags(Qt.ItemIsEnabled) f = item.font() f.setBold(True) item.setFont(f) self.list.addItem(item)
def refresh_list(self): self.input.clear() if not self._parameter.ordering == InputListParameter.NotOrdered: self._value_cache.sort() if self._parameter.ordering == InputListParameter.DescendingOrder: self._value_cache.reverse() for opt in self._value_cache: item = QListWidgetItem() item.setText(str(opt)) item.setFlags(item.flags() | Qt.ItemIsEditable) self.input.addItem(item)
def __init__(self, parameter, parent=None): """Constructor .. versionadded:: 2.2 :param parameter: A ListParameter object. :type parameter: ListParameter """ super().__init__(parameter, parent) self._input = QListWidget() self._input.setSelectionMode(QAbstractItemView.MultiSelection) if self._parameter.maximum_item_count != \ self._parameter.minimum_item_count: tool_tip = 'Select between %d and %d items' % ( self._parameter.minimum_item_count, self._parameter.maximum_item_count) else: tool_tip = 'Select exactly %d items' % ( self._parameter.maximum_item_count) self._input.setToolTip(tool_tip) for opt in self._parameter.options_list: item = QListWidgetItem() item.setFlags(item.flags() | Qt.ItemIsEditable) item.setText(str(opt)) self._input.addItem(item) if opt in self._parameter.value: item.setSelected(True) self.inner_input_layout.addWidget(self._input) # override self._input_layout arrangement to make the label at the top # reset the layout self.input_layout.setParent(None) self.help_layout.setParent(None) self.label.setParent(None) self.inner_input_layout.setParent(None) self.input_layout = QVBoxLayout() self.input_layout.setSpacing(0) # put element into layout self.input_layout.addWidget(self.label) self.input_layout.addLayout(self.inner_input_layout) self.main_layout.addLayout(self.input_layout) self.main_layout.addLayout(self.help_layout)
def _groupAdd(self): groupName = "New group" if groupName in self.font.groups: index = 1 while "%s %d" % (groupName, index) in self.font.groups: index += 1 groupName = "%s %d" % (groupName, index) self.font.groups[groupName] = [] item = QListWidgetItem(groupName, self.groupsList) item.setFlags(item.flags() | Qt.ItemIsEditable) self.groupsList.setCurrentItem(item) self.groupsList.editItem(item) self.removeGroupButton.setEnabled(True)
def addGlyphSet(self, glyphNames=[], glyphSetName=None): if glyphSetName is None: glyphSetName = self.tr("New glyph set") if glyphSetName in self.glyphSets: index = 1 while "%s %d" % (glyphSetName, index) in self.glyphSets: index += 1 glyphSetName = "%s %d" % (glyphSetName, index) self.glyphSets[glyphSetName] = glyphNames item = QListWidgetItem(glyphSetName, self.glyphSetList) item.setFlags(item.flags() | Qt.ItemIsEditable) self.glyphSetList.setCurrentItem(item) self.glyphSetList.editItem(item) self.removeGlyphSetButton.setEnabled(True)
def init_list(self): #读取配置歌曲目录里面的音乐文件 try: listfile = os.listdir(conf['mp3dir']) except Exception: return False x = 0 for name in listfile: # print(name) s = os.path.splitext(name)[1][1:] if(s.upper() == 'MP3'): x+=1 songname = name[0:-4] item = QListWidgetItem() item.setFlags(Qt.NoItemFlags) item.setSizeHint(QSize(210,40)) lwg = youjianWidget() lwg.deletesong.connect(self.deletesong) # print(dir(lwg)) # return False # lwg.setObjectName("songlist") lwg.setGeometry(20,0,140,30) # lwg.setObjectName("songitem") # lwg.clicked.connect(self.playit) # lwg.setStyleSheet("QWidget#songitem:hover{background:#A448C4;margin-left:-5px} \ # QWidget#songitem{border-radius:0px;} \ # ") # 使用自定义list组件 响应自定义信号 ql = listlabel() ql.setObjectName("songitem") ql.setText(songname) ql.setParent(lwg) ql.setGeometry(0,0,240,40) #transparent ql.setStyleSheet("QLabel{ font-weight:100;color:#2D2D2D;background:transparent ;font-size:14px;padding-left:40px;} \ QLabel:hover{ color:#fff;background:#A448C4 }") ql.doubleclicked.connect(self.playit) btn = QPushButton(str(x),ql) btn.setGeometry(5,8,24,24) btn.setStyleSheet("QPushButton{ border-radius:12px;background:#3698DB;color:#DDD;font-size:12px;font-weight:blod }") self.music.songList.addItem(item) self.music.songList.setItemWidget(item, lwg) url = QUrl.fromLocalFile(os.path.join(conf['mp3dir'],name)) self.music.playlist.addMedia(QMediaContent(url))
def listItemClicked(self): item = self.mainText.currentItem() flags = item.flags() if flags & Qt.ItemIsEnabled: if self.rowStore != None: self.mainText.takeItem(self.rowStore + 1) self.mainText.takeItem(self.rowStore + 1) tenCuts = self.gen.getSystem()[int(item.text().split(":")[0]) - 1] tenCuts = list(map(int, tenCuts)) output = self.gen.bittingCalc(tenCuts) row = self.mainText.currentRow() self.rowStore = row flags = item.flags() flags ^= Qt.ItemIsEnabled item = QListWidgetItem(" " + self.formatText(output[0])) item.setFlags(flags) item2 = QListWidgetItem(" " + self.formatText(output[1])) item2.setFlags(flags) self.mainText.insertItem(row + 1, item) self.mainText.insertItem(row + 2, item2)
def __loadScripts(self): """ Private method to load all the available scripts. """ for script in self.__manager.allScripts(): itm = QListWidgetItem( UI.PixmapCache.getIcon("greaseMonkeyScript.png"), script.name(), self.scriptsList) itm.setData( GreaseMonkeyConfigurationDialog.ScriptVersionRole, script.version()) itm.setData( GreaseMonkeyConfigurationDialog.ScriptDescriptionRole, script.description()) itm.setFlags(itm.flags() | Qt.ItemIsUserCheckable) if script.isEnabled(): itm.setCheckState(Qt.Checked) else: itm.setCheckState(Qt.Unchecked) itm.setData(GreaseMonkeyConfigurationDialog.ScriptRole, script) self.scriptsList.addItem(itm) self.scriptsList.sortItems() itemMoved = True while itemMoved: itemMoved = False for row in range(self.scriptsList.count()): topItem = self.scriptsList.item(row) bottomItem = self.scriptsList.item(row + 1) if topItem is None or bottomItem is None: continue if topItem.checkState() == Qt.Unchecked and \ bottomItem.checkState == Qt.Checked: itm = self.scriptsList.takeItem(row + 1) self.scriptsList.insertItem(row, itm) itemMoved = True
def _makeItem(self, layer): isDefault = layer is self._layerSet.defaultLayer name = layer.name color = layer.color item = QListWidgetItem() item.setText(name) if color: pixmap = QPixmap(100, 100) # change color pixmap.fill(QColor.fromRgbF(*color)) icon = QIcon(pixmap) else: icon = QIcon(":/resources/defaultColor.svg") item.setIcon(icon) if isDefault: font = item.font() font.setBold(True) item.setFont(font) item.setFlags(item.flags() | Qt.ItemIsEditable) return item;
def readSettings(self): defaultGlyphSet = settings.defaultGlyphSet() self.defaultGlyphSetBox.setChecked(len(defaultGlyphSet)) self.glyphSets = settings.readGlyphSets() self.defaultGlyphSetDrop.clear() self.defaultGlyphSetDrop.addItems(self.glyphSets.keys()) self.glyphSetList.clear() glyphSetNames = self.glyphSets.keys() # Normally we should be enforcing this rather decently in the interface # already if glyphSetNames: for glyphSetName in glyphSetNames: item = QListWidgetItem(glyphSetName, self.glyphSetList) item.setFlags(item.flags() | Qt.ItemIsEditable) self.glyphSetList.setCurrentRow(0) self.removeGlyphSetButton.setEnabled(len(self.glyphSets) > 1) glyphListPath = settings.glyphListPath() self.glyphListBox.setChecked(bool(glyphListPath)) self.glyphListEdit.setEnabled(bool(glyphListPath)) self.glyphListEdit.setText(glyphListPath) self.glyphListButton.setEnabled(bool(glyphListPath))
def list_items(self): """List all of the pages available to the user.""" media_library_options = QListWidgetItem(self.contents) media_library_options.setText('Media Library') media_library_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.contents.setCurrentRow(0) playback_options = QListWidgetItem(self.contents) playback_options.setText('Playback') playback_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) view_options = QListWidgetItem(self.contents) view_options.setText('View Options') view_options.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
def createIcons(self): basicButton = QListWidgetItem(self.contentsWidget) basicButton.setIcon(QIcon('app/ui/images/settings.png')) basicButton.setText("Základní filtry") basicButton.setTextAlignment(Qt.AlignHCenter) basicButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) timeButton = QListWidgetItem(self.contentsWidget) timeButton.setIcon(QIcon('app/ui/images/time.png')) timeButton.setText("Datum a čas") timeButton.setTextAlignment(Qt.AlignHCenter) timeButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) locationButton = QListWidgetItem(self.contentsWidget) locationButton.setIcon(QIcon('app/ui/images/location.png')) locationButton.setText("Lokace") locationButton.setTextAlignment(Qt.AlignHCenter) locationButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.contentsWidget.currentItemChanged.connect(self.changePage)
def createIcons(self): configButton = QListWidgetItem(self.contentsWidget) configButton.setIcon(QIcon(':/images/config.png')) configButton.setText("Configuration") configButton.setTextAlignment(Qt.AlignHCenter) configButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) updateButton = QListWidgetItem(self.contentsWidget) updateButton.setIcon(QIcon(':/images/update.png')) updateButton.setText("Update") updateButton.setTextAlignment(Qt.AlignHCenter) updateButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) queryButton = QListWidgetItem(self.contentsWidget) queryButton.setIcon(QIcon(':/images/query.png')) queryButton.setText("Query") queryButton.setTextAlignment(Qt.AlignHCenter) queryButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.contentsWidget.currentItemChanged.connect(self.changePage)
def addCheckableItem(self, item, listView, state=False): newItem = QListWidgetItem(item, listView) newItem.setCheckState(state) newItem.setFlags(newItem.flags() | QtCore.Qt.ItemIsUserCheckable)
def addPiece(self, pixmap, location): pieceItem = QListWidgetItem(self) pieceItem.setIcon(QIcon(pixmap)) pieceItem.setData(Qt.UserRole, pixmap) pieceItem.setData(Qt.UserRole+1, location) pieceItem.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled)
def fillGroupNames(self, groupNames): for groupName in groupNames: item = QListWidgetItem(groupName, self) item.setFlags(item.flags() | Qt.ItemIsEditable)
def createIcons(self): SOButton = QListWidgetItem(self.nav_listWidget) SOButton.setIcon(QIcon('./images/sales.png')) SOButton.setText(u"销售管理") SOButton.setTextAlignment(Qt.AlignHCenter) SOButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) SOButton = QListWidgetItem(self.nav_listWidget) SOButton.setIcon(QIcon('./images/produce.png')) SOButton.setText(u"生产管理") SOButton.setTextAlignment(Qt.AlignHCenter) SOButton.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) POButton=QListWidgetItem(self.nav_listWidget) POButton.setIcon(QIcon('./images/purchase.png')) POButton.setText(u"采购管理") POButton.setTextAlignment(Qt.AlignHCenter) POButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) EngineerButton=QListWidgetItem(self.nav_listWidget) EngineerButton.setIcon(QIcon('./images/engineer.png')) EngineerButton.setText(u"工程管理") EngineerButton.setTextAlignment(Qt.AlignHCenter) EngineerButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) WarehouseButton=QListWidgetItem(self.nav_listWidget) WarehouseButton.setIcon(QIcon('./images/warehouse.png')) WarehouseButton.setText(u"库存管理") WarehouseButton.setTextAlignment(Qt.AlignHCenter) WarehouseButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) FianceButton=QListWidgetItem(self.nav_listWidget) FianceButton.setIcon(QIcon('./images/fiance.png')) FianceButton.setText(u"财务管理") FianceButton.setTextAlignment(Qt.AlignHCenter) FianceButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) HumanButton=QListWidgetItem(self.nav_listWidget) HumanButton.setIcon(QIcon('./images/human.png')) HumanButton.setText(u"人员管理") HumanButton.setTextAlignment(Qt.AlignHCenter) HumanButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) CostButton=QListWidgetItem(self.nav_listWidget) CostButton.setIcon(QIcon('./images/cost.png')) CostButton.setText(u"成本管理") CostButton.setTextAlignment(Qt.AlignHCenter) CostButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) BasicMessageButton=QListWidgetItem(self.nav_listWidget) BasicMessageButton.setIcon(QIcon('./images/basicsetting.png')) BasicMessageButton.setText(u"基本信息") BasicMessageButton.setTextAlignment(Qt.AlignHCenter) BasicMessageButton.setFlags(Qt.ItemIsSelectable|Qt.ItemIsEnabled) self.nav_listWidget.currentItemChanged.connect(self.changePage)
def __init__(self, _format, parent=None): QWidget.__init__(self, parent) self.setupUi(self) self.toolBox.setStyleSheet(S.toolBoxSS()) self.mw = mainWindow() self._format = _format self.settings = {} ################################################################# # Content self.grpContentFilters.button.setChecked(False) h = self.tblContent.horizontalHeader() h.setSectionResizeMode(h.ResizeToContents) h.setSectionResizeMode(0, h.Stretch) self.contentUpdateTable() self.chkContentMore.toggled.connect(self.contentTableToggle) self.contentTableToggle(False) # Labels self.lstContentLabels.clear() h = QFontMetrics(self.font()).height() for i in range(0, self.mw.mdlLabels.rowCount()): item = self.mw.mdlLabels.item(i, 0) if item: item = QListWidgetItem(item.icon(), item.text()) item.setFlags(item.flags() | Qt.ItemIsUserCheckable) item.setCheckState(Qt.Checked) item.setSizeHint(QSize(100, h)) self.lstContentLabels.addItem(item) self.chkContentLabels.toggled.connect(self.lstContentLabels.setVisible) self.chkContentLabels.toggled.connect(lambda: self.listWidgetAdjustToContent(self.lstContentLabels)) self.lstContentLabels.setVisible(False) # Status self.lstContentStatus.clear() h = QFontMetrics(self.font()).height() for i in range(0, self.mw.mdlStatus.rowCount()): item = self.mw.mdlStatus.item(i, 0) if item: item = QListWidgetItem(item.icon(), item.text()) item.setFlags(item.flags() | Qt.ItemIsUserCheckable) item.setCheckState(Qt.Checked) item.setSizeHint(QSize(100, h)) self.lstContentStatus.addItem(item) self.chkContentStatus.toggled.connect(self.lstContentStatus.setVisible) self.chkContentStatus.toggled.connect(lambda: self.listWidgetAdjustToContent(self.lstContentStatus)) self.lstContentStatus.setVisible(False) # Root item self.cmbContentParent.setModel(self.mw.mdlOutline) v = QTreeView() self.cmbContentParent.setView(v) v.setHeaderHidden(True) for i in range(1, self.mw.mdlOutline.columnCount()): v.hideColumn(i) self.chkContentParent.toggled.connect(self.cmbContentParent.setVisible) self.cmbContentParent.hide() ################################################################# # Separations for cmb in [self.cmbSepFF, self.cmbSepTT, self.cmbSepFT, self.cmbSepTF]: cmb.clear() cmb.addItem(self.tr("Empty line"), "empty") cmb.addItem(self.tr("Custom"), "custom") cmb.currentIndexChanged.connect(self.sepCmbChanged) ################################################################# # Transformations h = self.tblReplacements.horizontalHeader() h.setSectionResizeMode(h.ResizeToContents) h.setSectionResizeMode(1, h.Stretch) h.setSectionResizeMode(2, h.Stretch) # Cf. https://en.wikipedia.org/wiki/Quotation_mark self.cmbTransDoubleQuotes.clear() self.cmbTransDoubleQuotes.addItems(["”___“", "“___”", "«___»"]) self.cmbTransSingleQuote.clear() self.cmbTransSingleQuote.addItems(["‘___’", "‹___›"]) for cmb in [self.cmbTransDoubleQuotes, self.cmbTransSingleQuote]: cmb.addItem(self.tr("Custom"), "custom") cmb.currentIndexChanged.connect(self.transCmbChanged) cmb.currentIndexChanged.emit(0) self.btnTransAdd.clicked.connect(lambda: self.transAddTableRow(checked=True)) self.btnTransRemove.clicked.connect(self.transRemoveTableRow) self.tableWidgetAdjustToContent(self.tblReplacements) ################################################################# # Preview self.cmbPreviewFont.setCurrentFont(self.font()) self.spnPreviewSize.setValue(self.font().pointSize()) ################################################################# # Final stuff self.toolBox.setCurrentIndex(0)
def new_item(self, text): widget = QListWidgetItem(str(text)) widget.setFlags(QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable) return widget
def addItem(self): item = QListWidgetItem(self.inputTextList) item.setFlags(item.flags() | Qt.ItemIsEditable) self.inputTextList.setCurrentItem(item) self.inputTextList.editItem(item) self.removeItemButton.setEnabled(True)
def addCategory(self, title): item = QListWidgetItem(title) item.setBackground(QBrush(QColor(S.highlightLight))) item.setForeground(QBrush(QColor(S.highlightedTextDark))) item.setFlags(Qt.ItemIsEnabled) self.list.addItem(item)
def __init__(self, browser, parent=None): """ Constructor @param browser reference to the browser window (HelpBrowser) @param parent reference to the parent widget (QWidget) """ super(SiteInfoDialog, self).__init__(parent) self.setupUi(self) self.setWindowFlags(Qt.Window) # put icons self.tabWidget.setTabIcon( 0, UI.PixmapCache.getIcon("siteinfo-general.png")) self.tabWidget.setTabIcon( 1, UI.PixmapCache.getIcon("siteinfo-media.png")) self.tabWidget.setTabIcon( 2, UI.PixmapCache.getIcon("siteinfo-databases.png")) if SSL: self.tabWidget.setTabIcon( 3, UI.PixmapCache.getIcon("siteinfo-security.png")) self.__mainFrame = browser.page().mainFrame() title = browser.title() sslInfo = browser.page().getSslCertificateChain() # populate General tab self.heading.setText("<b>{0}</b>".format(title)) self.siteAddressLabel.setText(self.__mainFrame.baseUrl().toString()) self.sizeLabel.setText(dataString(browser.page().totalBytes())) encoding = "" # populate Meta tags meta = self.__mainFrame.findAllElements("meta") for element in meta: content = element.attribute("content") name = element.attribute("name") if not name: name = element.attribute("http-equiv") if element.attribute("charset"): encoding = element.attribute("charset") if "charset=" in content: encoding = content[content.index("charset=") + 8:] if not content or not name: continue QTreeWidgetItem(self.tagsTree, [name, content]) for col in range(self.tagsTree.columnCount()): self.tagsTree.resizeColumnToContents(col) if not encoding: encoding = QWebSettings.globalSettings().defaultTextEncoding() self.encodingLabel.setText(encoding) # populate the Security info and the Security tab if sslInfo and \ ((qVersion() >= "5.0.0" and not sslInfo[0].isBlacklisted()) or (qVersion() < "5.0.0" and sslInfo[0].isValid())): self.securityLabel.setStyleSheet(SiteInfoDialog.okStyle) self.securityLabel.setText('<b>Connection is encrypted.</b>') if SSL: self.sslWidget.showCertificateChain(sslInfo) self.securityDetailsButton.setEnabled(True) else: self.securityDetailsButton.setEnabled(False) else: self.securityLabel.setStyleSheet(SiteInfoDialog.nokStyle) self.securityLabel.setText('<b>Connection is not encrypted.</b>') self.securityDetailsButton.setEnabled(False) self.tabWidget.setTabEnabled( self.tabWidget.indexOf(self.securityTab), False) # populate Media tab images = self.__mainFrame.findAllElements("img") for element in images: src = element.attribute("src") alt = element.attribute("alt") if src and src.startswith("data:"): continue if not alt: if src.find("/") == -1: alt = src else: pos = src.find("/") alt = src[pos + 1:] if not src or not alt: continue QTreeWidgetItem(self.imagesTree, [alt, src]) for col in range(self.imagesTree.columnCount()): self.imagesTree.resizeColumnToContents(col) if self.imagesTree.columnWidth(0) > 300: self.imagesTree.setColumnWidth(0, 300) self.imagesTree.setCurrentItem(self.imagesTree.topLevelItem(0)) self.imagesTree.setContextMenuPolicy(Qt.CustomContextMenu) self.imagesTree.customContextMenuRequested.connect( self.__imagesTreeContextMenuRequested) # populate the Databases tab databases = self.__mainFrame.securityOrigin().databases() counter = 0 for database in databases: itm = QListWidgetItem(self.databasesList) itm.setText(database.displayName()) itm.setData(Qt.UserRole, counter) counter += 1 if counter == 0: itm = QListWidgetItem(self.databasesList) itm.setText(self.tr("No databases are used by this page.")) itm.setFlags(itm.flags() & Qt.ItemIsSelectable)
def addDisabledGenPaths(self): """Add global paths, but set as disabled.""" genPaths = self.fetchGenPaths() for p in genPaths: i = QListWidgetItem(p, self.include.listBox) i.setFlags(Qt.NoItemFlags)