def set_row_file_name(self, file_name, row_index, is_checked=True): file_name_item = QTableWidgetItem(" " + file_name) if is_checked: file_name_item.setCheckState(Qt.Checked) else: file_name_item.setCheckState(Qt.Unchecked) self.setItem(row_index, 0, file_name_item)
def _addObjectToTable(self, row, name, obj, checked=True): typeName = obj.typeName print('adding to table: %s (%s)' % (name, typeName)) tableItem = QTableWidgetItem(name) if checked: tableItem.setCheckState(Qt.Checked) else: tableItem.setCheckState(Qt.Unchecked) self._ui.tableWidget.setItem( row, self.objectTableHeaderColumns['landmarks'], tableItem)
def _fill_list_with_joints(self, controller): #self.jointTableWidget.clear() for joint_name in controller.get_animated_joints(): insertRow = self.jointTableWidget.rowCount() self.jointTableWidget.insertRow(insertRow) indexItem = QTableWidgetItem("") indexItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) indexItem.setCheckState(Qt.Unchecked) self.jointTableWidget.setItem(insertRow, 0, indexItem) self.jointTableWidget.setItem(insertRow, 1, QTableWidgetItem(str(joint_name)))
def addObjectToList(self, sceneId, name, color): insertRow = self.rowCount() self.insertRow(insertRow) indexItem = QTableWidgetItem(str(sceneId)) indexItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) indexItem.setCheckState(Qt.Checked) self.setItem(insertRow, 0, indexItem) self.setItem(insertRow, 1, QTableWidgetItem(str(name))) self.setItem(insertRow, 2, QTableWidgetItem("")) self.item(insertRow, 2).setBackground( QColor(255 * color[0], 255 * color[1], 255 * color[2]))
def fill_db_table_with_skeletons(self): self.db_skeletons = [] self.skeletonDBTableWidget.clear() skeleton_list = get_skeletons_from_remote_db(self.db_url) for idx, s in skeleton_list: insertRow = self.skeletonDBTableWidget.rowCount() self.skeletonDBTableWidget.insertRow(insertRow) indexItem = QTableWidgetItem("") indexItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) indexItem.setCheckState(Qt.Checked) self.skeletonDBTableWidget.setItem(insertRow, 0, indexItem) self.skeletonDBTableWidget.setItem(insertRow, 1, QTableWidgetItem(str(s))) self.db_skeletons.append(s)
def _addObjectToTable(self, row, name, obj, checked=True): typeName = obj.typeName # print typeName # print name tableItem = QTableWidgetItem(name) if checked: tableItem.setCheckState(Qt.Checked) else: tableItem.setCheckState(Qt.Unchecked) self._ui.tableWidget.setItem(row, self.objectTableHeaderColumns['visible'], tableItem)
def fill_local_table_with_skeletons(self): self.skeletonLocalTableWidget.clear() self.local_skeletons = [] if not os.path.isdir(self.local_skeleton_dir): return for filename in glob.glob(self.local_skeleton_dir + os.sep + "*.json"): name = filename.split(os.sep)[-1][:-5] insertRow = self.skeletonLocalTableWidget.rowCount() self.skeletonLocalTableWidget.insertRow(insertRow) indexItem = QTableWidgetItem("") indexItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) indexItem.setCheckState(Qt.Unchecked) self.skeletonLocalTableWidget.setItem(insertRow, 0, indexItem) self.skeletonLocalTableWidget.setItem(insertRow, 1, QTableWidgetItem(str(name))) self.local_skeletons.append(name)
def go_result(self): self.ui.table_result.clear() self.ui.table_result.setRowCount(self.now.wil_max) self.ui.table_result.setColumnCount(2) self.ui.table_result.setHorizontalHeaderItem(0, QTableWidgetItem("답")) self.ui.table_result.setHorizontalHeaderItem(1, QTableWidgetItem("대답")) self.ui.table_result.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) for i, (v, r) in enumerate(zip(self.now.sample, self.now.replies)): item1 = QTableWidgetItem(f"{self.now.now_tds.vec2element(v)}") item1.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) item2 = QTableWidgetItem(f"{r}") item2.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) item2.setCheckState(Qt.Unchecked) # TODO: 일치 과정 self.ui.table_result.setItem(i, 0, item1) self.ui.table_result.setItem(i, 1, item2) self.ui.front.setCurrentIndex(7)
def update_table_opacities(self, allalpha=None): bin_opacitieslst = eval(self.bin_opacities) self.binstable_isready = False for binopacity in bin_opacitieslst: if not allalpha: alpha = float(binopacity.split(",")[0]) else: alpha = allalpha bin = int(binopacity.split(",")[1]) item = QTableWidgetItem() item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) if alpha < 0.5: item.setCheckState(Qt.Unchecked) else: item.setCheckState(Qt.Checked) item.setFlags(item.flags() ^ Qt.ItemIsEditable) self.binstable.setItem(bin, 3, item) self.binstable_isready = True
def populate_table_view(self): object_class_name_list = self.relationship_class[ "object_class_name_list"].split(",") self.table_view.setRowCount(len(self.relationships)) self.table_view.setColumnCount(len(object_class_name_list) + 1) labels = [""] + object_class_name_list self.table_view.setHorizontalHeaderLabels(labels) self.table_view.verticalHeader().hide() for row, relationship in enumerate(self.relationships): item = QTableWidgetItem() item.setFlags(Qt.ItemIsEnabled) item.setCheckState(Qt.Checked) self.table_view.setItem(row, 0, item) for column, object_name in enumerate(relationship): item = QTableWidgetItem(object_name) item.setFlags(Qt.ItemIsEnabled) self.table_view.setItem(row, column + 1, item) self.table_view.resizeColumnsToContents() self.resize_window_to_columns()
def show_playlists(self): dirs = get_dir_of_db() webdb_dat = dirs['webdb.dat'] self.playlists = get_playlist(webdb_dat) # 这个地方本来想用enumerate, 但是因为没有歌的歌单要跳过,所以就不能用了 i = 0 for pid, playlist in self.playlists.items(): if len(playlist['songs']) == 0: continue self.tableWidget.insertRow(i) item1 = QTableWidgetItem(playlist['playlist_name']) item1.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) item1.setCheckState(Qt.Unchecked) self.tableWidget.setItem(i, 0, item1) item2 = QTableWidgetItem(str(len(playlist['songs']))) item2.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.tableWidget.setItem(i, 1, item2) item3 = QTableWidgetItem(playlist['username']) item3.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.tableWidget.setItem(i, 2, item3) self.column2playlist.append(pid) i += 1 # bellows are songs info library_dat = dirs['library.dat'] self.all_song_info = tid2dir_offline(library_dat, webdb_dat) # bellows are selecting the playlists which are selected last time if self.config['pids']: for element in self.get_all_playlist_element(): pid = self.column2playlist[element.row()] if pid in self.config['pids']: element.setCheckState(Qt.Checked)
def updateTable(self): for rowIndex in range(self.sceneObjectTableWidget.rowCount()): indexItem = QTableWidgetItem(str(rowIndex)) indexItem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) indexItem.setCheckState(Qt.Unchecked) self.sceneObjectTableWidget.setItem(rowIndex, 0, indexItem)
def update(self): if self.cctbxproc: if self.cctbxproc.stdout: print(self.cctbxproc.stdout.read().decode("utf-8")) if self.cctbxproc.stderr: print(self.cctbxproc.stderr.read().decode("utf-8")) if self.out: print(self.out.decode("utf-8")) if self.err: print(self.err.decode("utf-8")) if self.zmq_context: try: msg = self.socket.recv( flags=zmq.NOBLOCK ) #To empty the socket from previous messages msgstr = msg.decode() self.infodict = eval(msgstr) #print("received from cctbx: " + str(self.infodict)) if self.infodict: if self.infodict.get("hklscenes_arrays"): self.hklscenes_arrays = self.infodict.get( "hklscenes_arrays", []) if self.infodict.get("array_infotpls"): self.array_infotpls = self.infodict.get( "array_infotpls", []) if self.infodict.get("bin_data_label"): self.BinDataComboBox.setCurrentText( self.infodict["bin_data_label"]) if self.infodict.get("bin_infotpls"): self.bin_infotpls = self.infodict["bin_infotpls"] self.nbins = len(self.bin_infotpls) self.updatingNbins = True self.Nbins_spinBox.setValue(self.nbins) self.updatingNbins = False self.binstable.clearContents() self.binstable.setRowCount(self.nbins) for row, bin_infotpl in enumerate(self.bin_infotpls): for col, elm in enumerate(bin_infotpl): # only allow changing the last column with opacity values if col != 3: item = QTableWidgetItem(str(elm)) else: item = QTableWidgetItem() item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) item.setCheckState(Qt.Checked) item.setFlags(item.flags() ^ Qt.ItemIsEditable) self.binstable.setItem(row, col, item) if self.bin_opacities: self.update_table_opacities() if self.infodict.get("bin_opacities"): self.bin_opacities = self.infodict["bin_opacities"] if self.binstable.rowCount() > 0: self.update_table_opacities() if self.infodict.get("html_url"): self.html_url = self.infodict["html_url"] if self.UseOSbrowser == False: self.BrowserBox.setUrl(self.html_url) # workaround for background colour bug in chromium # https://bugreports.qt.io/browse/QTBUG-41960 self.BrowserBox.page().setBackgroundColor( QColor(100, 100, 100, 1.0)) if self.infodict.get("spacegroups"): self.spacegroups = self.infodict.get("spacegroups", []) self.SpaceGroupComboBox.clear() self.SpaceGroupComboBox.addItems(self.spacegroups) if self.infodict.get("merge_data"): self.mergedata = self.infodict["merge_data"] currentinfostr = "" if self.infodict.get("info"): currentinfostr = self.infodict.get("info", []) if self.infodict.get("NewFileLoaded"): self.NewFileLoaded = self.infodict.get( "NewFileLoaded", False) if self.infodict.get("NewHKLscenes"): self.NewHKLscenes = self.infodict.get( "NewHKLscenes", False) self.fileisvalid = True #print("ngl_hkl_infodict: " + str(ngl_hkl_infodict)) if currentinfostr: #print(currentinfostr) self.infostr += currentinfostr + "\n" # display no more than self.bufsize bytes of text self.infostr = self.infostr[-self.bufsize:] self.textInfo.setPlainText(self.infostr) self.textInfo.verticalScrollBar().setValue( self.textInfo.verticalScrollBar().maximum()) if self.NewFileLoaded and self.NewHKLscenes: #if self.mergedata == True : val = Qt.CheckState.Checked #if self.mergedata == None : val = Qt.CheckState.PartiallyChecked #if self.mergedata == False : val = Qt.CheckState.Unchecked #self.mergecheckbox.setCheckState(val ) #print("got hklscenes: " + str(self.hklscenes_arrays)) self.MillerComboBox.clear() self.MillerComboBox.addItems( [e[3] for e in self.hklscenes_arrays]) self.MillerComboBox.setCurrentIndex( -1) # unselect the first item in the list self.comboviewwidth = 0 for e in self.hklscenes_arrays: self.comboviewwidth = max( self.comboviewwidth, self.MillerComboBox.fontMetrics().width(e[3])) self.MillerComboBox.view().setMinimumWidth( self.comboviewwidth) self.millertable.clearContents() self.millertable.setRowCount(len( self.hklscenes_arrays)) for n, millarr in enumerate(self.array_infotpls): for m, elm in enumerate(millarr): self.millertable.setItem( n, m, QTableWidgetItem(str(elm))) self.functionTabWidget.setDisabled(True) self.NewFileLoaded = False if self.NewHKLscenes: self.BinDataComboBox.clear() self.BinDataComboBox.addItems( ["Resolution"] + [e[3] for e in self.hklscenes_arrays]) self.BinDataComboBox.view().setMinimumWidth( self.comboviewwidth) #self.BinDataComboBox.setCurrentIndex(-1) # unselect the first item in the list self.NewHKLscenes = False except Exception as e: errmsg = str(e) if "Resource temporarily unavailable" not in errmsg: print(errmsg + traceback.format_exc(limit=10)) pass
def createCheckBoxItem(self): checkbox = QTableWidgetItem(True) checkbox.setCheckState(Qt.Checked) return checkbox
def build_analysis(self) -> None: """""" columns = ['Data analisys', 'PID', 'CPU%', 'Memory', 'Status', ] start_index = self.parent_frame.tableWidget_anlaysis.rowCount() - 1 if self.parent_frame.tableWidget_anlaysis.rowCount() == 0: self.parent_frame.tableWidget_anlaysis.clear() self.parent_frame.tableWidget_anlaysis.setRowCount(0) self.parent_frame.tableWidget_anlaysis.setColumnCount(len(columns)) self.parent_frame.tableWidget_anlaysis.setHorizontalHeaderLabels( columns) already_items = [] to_remove = [] to_add = [self.parent_frame.listWidget_projects_analysis.item(i).text( ) for i in range(self.parent_frame.listWidget_projects_analysis.count())] else: # start_index = 0 already_items = [self.parent_frame.tableWidget_anlaysis.item( i, 0).text() for i in range(self.parent_frame.tableWidget_anlaysis.rowCount())] new_ones = [self.parent_frame.listWidget_projects_analysis.item( i).text() for i in range(self.parent_frame.listWidget_projects_analysis.count())] to_remove = set(already_items) - set(new_ones) to_add = set(new_ones) - set(already_items) for i, script_name in enumerate(to_add): if script_name.startswith('_'): continue if script_name in already_items: continue # if item.text().startswith('Tutorial |'): # continue self.parent_frame.tableWidget_anlaysis.insertRow(start_index + i) for j in range(len(columns)): if j == 0: item = QTableWidgetItem(script_name) item.setCheckState(Qt.Unchecked) item.is_running = False else: item = QTableWidgetItem() if 0 < j < 4: item.setTextAlignment(Qt.AlignCenter) item.setFlags(item.flags() & ~Qt.ItemIsEditable & ~Qt.ItemIsSelectable) self.parent_frame.tableWidget_anlaysis.setItem( start_index + i, j, item) self.parent_frame.tableWidget_anlaysis.cellWidget( start_index + i, j) for script_name in to_remove: for i in range(self.parent_frame.tableWidget_anlaysis.rowCount()): item = self.parent_frame.tableWidget_anlaysis.item(i, 0) if item.text() == script_name: if not item.checkState() == Qt.Checked: self.parent_frame.tableWidget_anlaysis.removeRow(i) else: item.to_remove = True break self.parent_frame.tableWidget_anlaysis.sortByColumn(0)
def set_row_file_name(self, file_name, row_index): file_name_item = QTableWidgetItem(" " + file_name) file_name_item.setCheckState(Qt.Checked) self.setItem(row_index, self.column_ids["Name"], file_name_item)