def insertRound(self, r): winner = r.getWinner() i = r.getNumRound() - 1 self.insertRow(i) for j, player in enumerate(self.engine.getListPlayers()): item = QTableWidgetItem() item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable) item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) if player == winner: text = i18n( "Phase10RoundTable", "Winner") font = item.font() font.setBold(True) item.setFont(font) else: text = str(r.getPlayerScore(player)) a_phase = r.getPlayerAimedPhase(player) c_phase = r.getPlayerCompletedPhase(player) text += i18n( "Phase10PlayerWidget", " (Phase {})").format(a_phase) if c_phase != 0: background = 0xCCFF99 # green else: background = 0xFFCC99 # red item.setBackground(QtGui.QBrush(QtGui.QColor(background))) item.setText(text) self.setItem(i, j, item) self.scrollToBottom()
def drawDataTable(self,tab): # Called when user switches tabWidget to the Table Preview if tab != 1 or self.needsRedraw == False: return fields = self.fields self.dataTable.clear() self.repaint() self.dataTable.setColumnCount(len(fields)) self.dataTable.setRowCount(self.provider.featureCount()) header = [] for i in fields.values(): header.append(i.name()) self.dataTable.setHorizontalHeaderLabels(header) formatting = True if formatting: # slower procedure, with formatting the table items for i in range(len(self.data)): for j in range(len(self.data[i])): item = QTableWidgetItem(unicode(self.data[i][j] or 'NULL')) item.setFlags(Qt.ItemIsSelectable) if fields[i].type() == 6 or fields[i].type() == 2: item.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.dataTable.setItem(j,i,item) else: # about 25% faster procedure, without formatting for i in range(len(self.data)): for j in range(len(self.data[i])): self.dataTable.setItem(j,i,QTableWidgetItem(unicode(self.data[i][j] or 'NULL'))) self.dataTable.resizeColumnsToContents() self.needsRedraw = False
def set_automated_stocks(self): file_list = ["../data/sell_list.txt", "../data/buy_list.txt"] automated_stocks = [] try: for file in file_list: # utf-8로 작성된 파일을 # cp949 환경에서 읽기위해서 encoding 지정 with open(file, 'rt', encoding='utf-8') as f: stocks_list = f.readlines() automated_stocks += stocks_list except Exception as e: print(e) e.msg = "set_automated_stocks() 에러" self.show_dialog('Critical', e) return # 테이블 행수 설정 cnt = len(automated_stocks) self.automatedStocksTable.setRowCount(cnt) # 테이블에 출력 for i in range(cnt): stocks = automated_stocks[i].split(';') for j in range(len(stocks)): if j == 1: name = self.kiwoom.get_master_code_name(stocks[j].rstrip()) item = QTableWidgetItem(name) else: item = QTableWidgetItem(stocks[j].rstrip()) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignCenter) self.automatedStocksTable.setItem(i, j, item) self.automatedStocksTable.resizeRowsToContents()
def addClicked(self, fileNames): """Fill the playlist with fileNames' info.""" if fileNames is None: return self.playlistTable.setSortingEnabled(False) songsToAdd = len(fileNames) for name, row in zip(fileNames, range(songsToAdd)): currentRow = row + self.playlist.mediaCount() - songsToAdd self.playlistTable.insertRow(currentRow) artist = self.playerCore.getArtist(name)[0] title = self.playerCore.getTitle(name)[0] album = self.playerCore.getAlbum(name)[0] seconds = self.playerCore.getDuration(name) duration = QTime(0, seconds // 60, seconds % 60) duration = duration.toString('mm:ss') rowInfo = [artist, title, album, duration] for info, index in zip(rowInfo, range(4)): cell = QTableWidgetItem(info) self.playlistTable.setItem(currentRow, index, cell) font = QFont(info, weight=QFont.Normal) cell.setFont(font) cell.setTextAlignment(Qt.AlignCenter) self.playlistTable.setSortingEnabled(True) for index in range(4): self.playlistTable.resizeColumnToContents(index)
def updateZoneOccupationTableRow(self, zone, tableItems=None): if (tableItems == None): tableItems = [] for i in range(2): item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) tableItems.append(item) self.zoTable.insertRow(0) self.zoTable.setItem(0, 0, tableItems[0]) self.zoTable.setItem(0, 1, tableItems[1]) tableItems[0].setText(zone.name) tableItems[0].setData(5, zone.xmlId) wearablesPresent = "" firstOneFlag = True signalDataList = zone.wearablesInZone.items() counter = 0 for wearbleId, signalData in signalDataList: wearable = self.systemState.getHardwareObjectByHwId(TID_W, wearbleId) if (not signalData.isInZone): continue counter += 1 if (firstOneFlag): firstOneFlag = False else: wearablesPresent = wearablesPresent + ", " wearablesPresent = wearablesPresent + wearable.name if (counter == 0): wearablesPresent = "[none]" tableItems[1].setText(wearablesPresent)
def insertRound(self, r): winner = r.getWinner() i = r.getNumRound() - 1 self.insertRow(i) hands = self.engine.getHands(r.getNumRound()) direction = self.engine.getDirection(r.getNumRound()) hitem = QTableWidgetItem("{} {}".format(hands, i18n("PochaWidget", direction))) self.setVerticalHeaderItem(i, hitem) for j, player in enumerate(self.engine.getListPlayers()): item = QTableWidgetItem() item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable) item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) score = r.getPlayerScore(player) if score > 0: background = self.bgcolors[0] else: background = self.bgcolors[1] item.setBackground(QtGui.QBrush(QtGui.QColor(background))) text = str(score) if player == winner: text += i18n("PochaRoundTable", " (Winner)") item.setText(text) self.setItem(i, j, item) self.scrollToBottom()
def fill_doc_table(self): self.doc_table_widget.setRowCount(0) self.doc_table_widget.setColumnCount(5) header = ["Char", "Arity", "Starts", "Mnemonic", "Details"] self.doc_table_widget.setHorizontalHeaderLabels(header) filter_text = self.find_line_edit.text() if not filter_text: filtered = self.doc_items if len(filter_text) == 1 or (len(filter_text) == 2 and filter_text[0] == "."): filtered = [line for line in self.doc_items if line[0].lower() == filter_text.lower()] else: filtered = [line for line in self.doc_items if any(filter_text.lower() in item.lower() for item in line)] self.doc_table_widget.setRowCount(len(filtered)) for row, items in enumerate(filtered): for column, item in enumerate(items): if len(item) > 40: item = self.split_sentence(item, 40) table_widget_item = QTableWidgetItem(item) if column < 4: table_widget_item.setTextAlignment(QtCore.Qt.AlignCenter) self.doc_table_widget.setItem(row, column, table_widget_item) self.doc_table_widget.resizeRowsToContents()
def setErrors(self, errors): self.errors = errors for idx, err_key in enumerate(sorted(self.errors)): err = self.errors[err_key] id_item = QTableWidgetItem(err.id) id_item.setFlags(Qt.ItemIsEnabled) desc_item = QTableWidgetItem(err.check) desc_item.setFlags(Qt.ItemIsEnabled) penalty_item = QTableWidgetItem(str(err.penalty)) penalty_item.setTextAlignment(Qt.AlignCenter) cell_widget = QWidget() chk_box = QCheckBox() if err.is_enabled: chk_box.setCheckState(Qt.Checked) else: chk_box.setCheckState(Qt.Unchecked) chk_box.stateChanged.connect(lambda state, err=err: self.chkboxClicked(err, state)) layout = QHBoxLayout(cell_widget) layout.addWidget(chk_box) layout.setAlignment(Qt.AlignCenter) cell_widget.setLayout(layout) self.table.setItem(idx, 0, id_item) self.table.setItem(idx, 1, desc_item) self.table.setItem(idx, 2, penalty_item) self.table.setCellWidget(idx, 3, cell_widget)
def updateFormatsTable(self, mimeData=None): self.formatsTable.setRowCount(0) if mimeData is None: return for format in mimeData.formats(): formatItem = QTableWidgetItem(format) formatItem.setFlags(Qt.ItemIsEnabled) formatItem.setTextAlignment(Qt.AlignTop | Qt.AlignLeft) if format == 'text/plain': text = mimeData.text().strip() elif format == 'text/html': text = mimeData.html().strip() elif format == 'text/uri-list': text = " ".join([url.toString() for url in mimeData.urls()]) else: text = " ".join(["%02X" % ord(datum) for datum in mimeData.data(format)]) row = self.formatsTable.rowCount() self.formatsTable.insertRow(row) self.formatsTable.setItem(row, 0, QTableWidgetItem(format)) self.formatsTable.setItem(row, 1, QTableWidgetItem(text)) self.formatsTable.resizeColumnToContents(0)
def append_items(self, item_data_list): for data in item_data_list: pathname = data["pathname"] path,name = os.path.split(pathname) character = "" if "character" in data: character = data["character"] count = self.table.rowCount() self.table.insertRow(count) # thumbnail img = QImage() img.load(pathname) thumbnail_item = QTableWidgetItem() thumbnail_item.setTextAlignment(Qt.AlignCenter); thumbnail_item.setData(Qt.DecorationRole, QPixmap.fromImage(img)); self.table.setItem(count, 0, thumbnail_item) # name name_item = QTableWidgetItem(name) name_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.table.setItem(count, 1, name_item) # character self.table.setItem(count, 2, QTableWidgetItem(character)) self.image_config.append({ "image":pathname, "character":character, }) self.table.resizeColumnToContents(0)
def insertRound(self, r): closeType = r.getCloseType() winner = r.getWinner() background = self.bgcolors[closeType] i = r.getNumRound() - 1 self.insertRow(i) for j, player in enumerate(self.engine.getListPlayers()): item = QTableWidgetItem() item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable) item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) item.setBackground(QtGui.QBrush(QtGui.QColor(background))) if player == winner: text = i18n( "RemigioRoundTable", "Winner ({}x)").format(closeType) font = item.font() font.setBold(True) item.setFont(font) elif self.engine.wasPlayerOff( player, r.getNumRound()) or r.getPlayerScore(player) < 0: if r.getPlayerScore(player) < 0: text = "" else: text = str(r.getPlayerScore(player)) item.setBackground(QtGui.QBrush(QtCore.Qt.gray)) else: text = str(r.getPlayerScore(player)) item.setText(text) self.setItem(i, j, item) self.scrollToBottom()
def updateTableUi(self): self.fileView.setRowCount(0) end = self.nStart+self.nPageSize if self.nStart+self.nPageSize < self.nTotal else self.nTotal if end == self.nTotal: self.nextBtn.setEnabled(False) for i in range(self.nStart, end): subDict = self.fileDicts['seq_'+str(i).zfill(4)] row = self.fileView.rowCount() self.fileView.setRowCount(row + 1) item0 = QTableWidgetItem(subDict['filename']) if (row+1) % 10 == 0: textFont = QFont("Arial", 9, QFont.Bold) item0.setFont(textFont) item0.setForeground(QColor(255,0,0)) item1 = QTableWidgetItem(str(subDict['count'])) #√ item2 = QTableWidgetItem('×') item2.setForeground(QColor(0,0,0)) item2.setTextAlignment(Qt.AlignCenter) item3 = QTableWidgetItem(str(row + 1)) item4 = QTableWidgetItem(subDict['content']) item5 = QTableWidgetItem(subDict['seq']) self.fileView.setItem(row, 0, item0) self.fileView.setItem(row, 1, item1) self.fileView.setItem(row, 2, item2) self.fileView.setItem(row, 3, item3) self.fileView.setItem(row, 4, item4) self.fileView.setItem(row, 5, item5) item3.setCheckState(Qt.Unchecked)
def insert_data(tw, row, data): assert len(data) <= 8 try: for i, d in enumerate(data): item = QTableWidgetItem(d) item.setTextAlignment(Qt.AlignHCenter) tw.setItem(row, i, item) except Exception as e: raise ('insert data in table' + str(e))
def updateTable(self): for row in range(self.rowCount()): for column in range(self.columnCount()): item = self.item(row, column) if not item: item = QTableWidgetItem('') item.setTextAlignment(0x0004 | 0x0080) #centered self.setItem(row, column, item) self.setVerticalHeaderLabels(self.verticalHeader) self.setHorizontalHeaderLabels(self.horizontalHeader)
def resetTotals(self): self.totals.setHorizontalHeaderLabels(self.engine.getListPlayers()) self.totals.clearContents() for row in range(len(self.engine.getEntryKinds())): background = self.bgcolors[row] for col in range(len(self.engine.getListPlayers())): item = QTableWidgetItem() item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable) item.setTextAlignment( QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) item.setBackground(QtGui.QBrush(QtGui.QColor(background))) item.setText("0") self.totals.setItem(row, col, item)
def show_ticket(self): try: self.tickettable.clearContents() cursor.execute("exec checkin {0}".format(pass_id)) rows = cursor.fetchall() self.show() if rows: self.pass_name.setText(rows[0].name) # 将订票信息传入表格 for index, row in enumerate(rows): newItem = QTableWidgetItem(row.flight_num) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tickettable.setItem(index, 0, newItem) newItem = QTableWidgetItem(row.dep_loc) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tickettable.setItem(index, 1, newItem) newItem = QTableWidgetItem(row.arr_loc) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tickettable.setItem(index, 2, newItem) newItem = QTableWidgetItem(row.seat_level) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tickettable.setItem(index, 3, newItem) ticket = QPushButton() ticket.setText('取票') ticket.clicked.connect(self.update_ticket) self.tickettable.setCellWidget(index, 4, ticket) else: QMessageBox.about(self, '抱歉', "该旅客无订票信息") except Exception as e: print(e)
def set_row(self, row, model): for col, spec in enumerate(self.columns): value = spec.render(model) color = None if isinstance(value, tuple): value, color = value w = QTableWidgetItem(str(value)) if color is not None: w.setBackground(color) w.setTextAlignment(Qt.AlignVCenter | Qt.AlignLeft) w.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.setItem(row, col, w) self.setRowHidden(row, not self.apply_filter_to_row(row))
def show_database(self): self.showTable.update() self.showTable.clearContents() sql_db = ConnectSQLdb('CAIWUGUANLIDATABASE').sql_connect() sql_cursor = sql_db.cursor() # 查询语句 sql_query = 'SELECT * FROM money_information;' sql_cursor.execute(sql_query) data = sql_cursor.fetchall() for i in range(len(data)): for j in range(len(data[0])): newItem = QTableWidgetItem(str(data[i][j])) newItem.setTextAlignment(Qt.AlignCenter) self.showTable.setItem(i, j, newItem)
def seat_table_show(self, item): # 执行存储过程,查询对应航班号的剩余座位 try: self.show() cursor.execute('exec flight_seat %s' % item) rows = cursor.fetchall() # 设置标签栏的航班号 self.flight_num.setText(rows[0].flight_num) self.seat_table.setHorizontalHeaderLabels( ['舱位等级', '价格', '剩余数量', '已售数量']) # 将座位信息传入表格 for index, row in enumerate(rows): newItem = QTableWidgetItem(row.seat_level) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.seat_table.setItem(index, 0, newItem) newItem = QTableWidgetItem('¥' + str(row.price).split('.')[0]) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.seat_table.setItem(index, 1, newItem) newItem = QTableWidgetItem(str(row.remain_num)) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.seat_table.setItem(index, 2, newItem) newItem = QTableWidgetItem(str(row.ordered_num)) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.seat_table.setItem(index, 3, newItem) except Exception as e: print(e)
def insertRow(self, val: list): itemBID = QTableWidgetItem(val[1]) itemBID.setTextAlignment(Qt.AlignCenter) itemNAME = QTableWidgetItem('《' + val[2] + '》') itemNAME.setTextAlignment(Qt.AlignCenter) itemBEGIN = QTableWidgetItem(val[3]) itemBEGIN.setTextAlignment(Qt.AlignCenter) itemBACK = QTableWidgetItem(val[4]) itemBACK.setTextAlignment(Qt.AlignCenter) itemPUNISHED = QLabel() itemPUNISHED.setText(str(val[5])) itemPUNISHED.setAlignment(Qt.AlignCenter) if val[5] == 0: itemPUNISHED.setStyleSheet(''' *{ color: green; font-size: 20px; } ''') else: itemPUNISHED.setStyleSheet(''' *{ color: red; font-size: 20px; } ''') self.table.insertRow(1) self.table.setItem(1, 0, itemBID) self.table.setItem(1, 1, itemNAME) self.table.setItem(1, 2, itemBEGIN) self.table.setItem(1, 3, itemBACK) self.table.setCellWidget(1, 4, itemPUNISHED)
def __init__(self): super().__init__() self.setupUi(self) for i in range(10): # 매도호가 item_0 = QTableWidgetItem(str("")) item_0.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.orderbook.setItem(10 + i, 2, item_0) item_1 = QTableWidgetItem(str("")) item_1.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.orderbook.setItem(10 + i, 1, item_1) item_2 = QTableWidgetItem(str("")) item_2.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.orderbook.setItem(9 - i, 1, item_2) item_3 = QTableWidgetItem(str("")) item_3.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.orderbook.setItem(9 - i, 0, item_3) #item_2 = QProgressBar(self.orderbook) #item_2.setAlignment(Qt.AlignRight | Qt.AlignVCenter) #item_2.setStyleSheet(""" # QProgressBar {background-color : rgba(0, 0, 0, 0%);border : 1} # QProgressBar::Chunk {background-color : rgba(255, 0, 0, 50%);border : 1} # """) #self.orderbook.setCellWidget(i, 2, item_2) self.ow = OrderbookWorker() self.ow.dataSent.connect(self.SetOrderBook) self.start_orderbook.clicked.connect(self.RestartOrderbook) self.stop_orderbook.clicked.connect(self.StopOrderbook) self.ow.start()
def fill_table_row(self, row_dict, row): row_count = self.powder_table.rowCount() if row_count == row: self.powder_table.insertRow(row_count) for col, field in enumerate(self.header_labels): if field not in row_dict.keys(): continue item = self.powder_table.item(row, col) if item is None: item = QTableWidgetItem(row_dict[field]) item.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.powder_table.setItem(row, col, item) else: item.setText(str(row_dict[field]))
def __insertTable(self): self.table.setRowCount(len(self.location)) if len(self.location) > 0: self.table.horizontalHeader().setSectionResizeMode( QHeaderView.ResizeToContents) for i, (name, loc, r) in enumerate(zip(self.names, self.location, self.radius)): (x, y) = loc nameItem = QTableWidgetItem(name) nameItem.setTextAlignment(Qt.AlignCenter) self.table.setItem(i, 0, nameItem) #x xItem = QTableWidgetItem(str(x)) xItem.setTextAlignment(Qt.AlignCenter) self.table.setItem(i, 1, xItem) #y yItem = QTableWidgetItem(str(y)) yItem.setTextAlignment(Qt.AlignCenter) self.table.setItem(i, 2, yItem) #r rItem = QTableWidgetItem(str(r)) rItem.setTextAlignment(Qt.AlignCenter) self.table.setItem(i, 3, rItem)
def add_que(self, info: dict = None): """Add current info to queue. If don't have current info, fetch it.""" if info: self.current = info origin = self.ledit_addr.text().strip() if origin: addr = origin + '/' if origin[-1] != '/' else origin if self.current and addr == self.current[ 'addr']: # Current info avaliable and address doesn't change self.show_info(self.current) row_count = self.que.rowCount() self.que.setRowCount(row_count + 1) self.que.setItem(row_count, 0, QTableWidgetItem(self.current['name'])) size = QTableWidgetItem(self.current['size']) size.setTextAlignment(Qt.AlignCenter) self.que.setItem(row_count, 1, size) page = QTableWidgetItem(self.current['page']) page.setTextAlignment(Qt.AlignCenter) self.que.setItem(row_count, 2, page) self.que.setItem(row_count, 3, QTableWidgetItem('等待中')) self.que.setItem(row_count, 4, QTableWidgetItem(self.current['addr'])) self.que.selectRow(row_count) self.que_dict[self.current['addr']] = self.current else: # When current info has not fetched but addr served or changed, get info if self.ledit_addr.text(): self.btn_add.setDisabled(True) self.btn_get.setDisabled(True) if re.match( r'(https?://)?e[x-]hentai.org/g/\d{1,7}/\w{10}/', addr): # Check legality self.fetch_thread = FetchDataThread( self, self.glovar.session, self.glovar.proxy, addr) self.fetch_thread.fetch_success.connect(self.add_que) self.fetch_thread.except_signal.connect( misc.show_msgbox) self.fetch_thread.finished.connect( self.fetch_info_finished) self.fetch_thread.start() else: misc.show_msgbox(self, QMessageBox.Warning, '错误', '画廊地址输入错误!') self.fetch_info_finished() else: misc.show_msgbox(self, QMessageBox.Warning, '错误', '请输入画廊地址!')
def input_tble_item(self): item = QTableWidgetItem("cell(0,1)") item.setTextAlignment(Qt.AlignCenter) currentRowCount = self.tbl_widget.rowCount() self.tbl_widget.insertRow(currentRowCount) v1 = self.ui.le_01.text() v2 = self.ui.le_02.text() v3 = self.ui.le_03.text() item01 = QTableWidgetItem(v1) item01.setTextAlignment(Qt.AlignCenter) self.tbl_widget.setItem(currentRowCount, 0, item01) self.tbl_widget.setItem(currentRowCount, 1, QTableWidgetItem(v2)) self.tbl_widget.setItem(currentRowCount, 2, QTableWidgetItem(v3))
def buildTableView(self, dataset): """Builds a Table View displaying DICOM image metadata as Tag, name, VR & Value""" try: tableWidget = QTableWidget() tableWidget.setShowGrid(True) tableWidget.setColumnCount(4) #Create table header row headerItem = QTableWidgetItem(QTableWidgetItem("Tag\n")) headerItem.setTextAlignment(Qt.AlignLeft) tableWidget.setHorizontalHeaderItem(0,headerItem) headerItem = QTableWidgetItem(QTableWidgetItem("Name \n")) headerItem.setTextAlignment(Qt.AlignLeft) tableWidget.setHorizontalHeaderItem(1, headerItem) headerItem = QTableWidgetItem(QTableWidgetItem("VR \n")) headerItem.setTextAlignment(Qt.AlignLeft) tableWidget.setHorizontalHeaderItem(2, headerItem) headerItem = QTableWidgetItem(QTableWidgetItem("Value\n")) headerItem.setTextAlignment(Qt.AlignLeft) headerItem = tableWidget.setHorizontalHeaderItem(3 ,headerItem) for data_element in dataset: #Exclude pixel data from metadata listing if data_element.name == 'Pixel Data': continue rowPosition = tableWidget.rowCount() tableWidget.insertRow(rowPosition) tableWidget.setItem(rowPosition , 0, QTableWidgetItem(str(data_element.tag))) tableWidget.setItem(rowPosition , 1, QTableWidgetItem(data_element.name)) tableWidget.setItem(rowPosition , 2, QTableWidgetItem(data_element.VR)) if data_element.VR == "UN" or data_element.VR == "OW": try: valueMetadata = str(data_element.value.decode('utf-8')) except: try: valueMetadata = str(list(data_element)) except: valueMetadata = str(data_element.value) else: valueMetadata = str(data_element.value) tableWidget.setItem(rowPosition , 3, QTableWidgetItem(valueMetadata)) #Resize columns to fit contents header = tableWidget.horizontalHeader() header.setSectionResizeMode(0, QHeaderView.ResizeToContents) header.setSectionResizeMode(1, QHeaderView.ResizeToContents) header.setSectionResizeMode(2, QHeaderView.ResizeToContents) header.setSectionResizeMode(3, QHeaderView.ResizeToContents) return tableWidget except Exception as e: print('Error in : ViewMetaData.buildTableView' + str(e)) logger.error('Error in : ViewMetaData.buildTableView' + str(e))
def updateP2Interface(data): if ui.radioButton_applyFunctions.isChecked(): dataDictionary = data.dic else: dataDictionary = data.dicRaw elements = len(data.p2Order) for key, i in zip(data.p2Order, range(0, elements)): item = QTableWidgetItem(str(dataDictionary[key])) item.setTextAlignment(QtCore.Qt.AlignCenter) ui.tableWidget_Package2.setItem(i, 0, item) if data.alarms[key] != []: checkAlarm(data, key, ui.tableWidget_Package2, i) else: setFieldBackground(ui.tableWidget_Package2, QtGui.QColor(255, 255, 255), i) if ((data.dic['rearBrakeP'] + data.dic['frontBrakeP']) != 0): # Verificação necessária para que não ocorra divisão por zero ui.progressBar_FrontBrakeBalance.setValue( 100 * data.dic['frontBrakeP'] / (data.dic['rearBrakeP'] + data.dic['frontBrakeP']) ) # porcentagem da pressão referente ao freio dianteiro ui.progressBar_RearBrakeBalance.setValue( 100 * data.dic['rearBrakeP'] / (data.dic['rearBrakeP'] + data.dic['frontBrakeP'])) # traseiro # atualiza gauges ui.progressBar_FrontBreakPressure.setValue(data.dic['frontBrakeP']) ui.label_65.setText(str(data.dic['frontBrakeP'])) ui.label_69.setText(str(data.dic['rearBrakeP'])) # distribuicao dos freios ui.progressBar_RearBreakPressure.setValue(data.dic['rearBrakeP']) ui.progressBar_FuelPressure.setValue(data.dic['fuelP']) ui.label_17.setText(str(data.dic['fuelP'])) ui.progressBar_OilPressure.setValue(data.dic['oleoP']) ui.label_10.setText(str(data.dic['oleoP'])) ui.progressBar_TPS.setValue(data.dic['tps']) ui.progressBar_TPS.setProperty("value", data.dic['tps']) ui.dial_WheelPos.setValue(data.dic['volPos']) ui.label_19.setText(str(data.dic['volPos'])) updatePlot(data)
def search_flight(self): dep_loc = self.deploc.text() arr_loc = self.arrloc.text() if dep_loc is '' and arr_loc is '': self.show_flight() else: try: # 查询航班信息 if dep_loc is '' and arr_loc: cursor.execute( r"select * from flight where arr_loc='{0}' order by dep_loc,arr_loc" .format(arr_loc)) elif arr_loc is '' and dep_loc: cursor.execute( r"select * from flight where dep_loc='{0}' order by dep_loc,arr_loc" .format(dep_loc)) else: cursor.execute('exec search_flight {0}, {1}'.format( dep_loc, arr_loc)) rows = cursor.fetchall() self.tableWidget.clearContents() # 将航班信息填入表格 for index, row in enumerate(rows): newItem = QTableWidgetItem(row.flight_num) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tableWidget.setItem(index, 0, newItem) newItem = QTableWidgetItem(row.dep_loc) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tableWidget.setItem(index, 1, newItem) newItem = QTableWidgetItem(row.arr_loc) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tableWidget.setItem(index, 2, newItem) newItem = QTableWidgetItem( row.dep_time.split(':')[0] + ':' + row.dep_time.split(':')[1]) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tableWidget.setItem(index, 3, newItem) newItem = QTableWidgetItem( row.arr_time.split(':')[0] + ':' + row.arr_time.split(':')[1]) newItem.setTextAlignment(QtCore.Qt.AlignCenter) self.tableWidget.setItem(index, 4, newItem) # 加入购票按钮 book_f = QPushButton() book_f.setText('购票') book_f.clicked.connect(self.search_ticket) self.tableWidget.setCellWidget(index, 5, book_f) except Exception as e: print(e)
def displayInfo(self, a, b): usert = a infor = b row = self.tableWidget.rowCount() self.tableWidget.insertRow(row) item1 = QTableWidgetItem(usert) item1.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) item1.setTextAlignment(Qt.AlignLeft) self.tableWidget.setItem(row, 0, item1) row1 = self.tableWidget.rowCount() self.tableWidget.insertRow(row1) item2 = QTableWidgetItem(infor) item2.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) item2.setTextAlignment(Qt.AlignLeft) self.tableWidget.setItem(row1, 0, item2)
def setTableWidgetData(self, df1): self.tableWidget1.setHorizontalHeaderLabels(df1.columns) for col_i, (col_name, col_item) in enumerate(df1.iteritems()): for row_i in range(col_item.size): item = QTableWidgetItem(col_item[row_i]) if col_i > 0: item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.tableWidget1.setItem(row_i, col_i, item) self.tableWidget1.resizeColumnsToContents() self.tableWidget1.resizeRowsToContents() # Table will fit the screen horizontally self.tableWidget1.horizontalHeader().setStretchLastSection(True) self.tableWidget1.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch)
def updateDeviceStateTableRow(self, device, tableItems=None): if (tableItems == None): tableItems = [] for i in range(2): item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) tableItems.append(item) self.dsTable.insertRow(0) self.dsTable.setItem(0, 0, tableItems[0]) self.dsTable.setItem(0, 1, tableItems[1]) tableItems[0].setText(device.name) tableItems[0].setData(5, device.xmlId) tableItems[1].setText(DEVICE_STATES[device.devType][device.state])
def add_entry(self): desc = self.lineEditDescription.text() price = self.lineEditPrice.text() try: descItem = QTableWidgetItem(desc) priceItem = QTableWidgetItem('${0:.2f}'.format(float(price))) priceItem.setTextAlignment(Qt.AlignRight | Qt.AlignCenter) self.table.insertRow(self.items) self.table.setItem(self.items, 0, descItem) self.table.setItem(self.items, 1, priceItem) self.items += 1 self.lineEditDescription.setText('') self.lineEditPrice.setText('') except ValueError: pass
def ip_id_list_to_many_one_line(self, ip_comma_interval): ''' '127.0.0.0:sdd_MSE_t,123.2.1.2:sf_MSE_t' --- > yield [TableWidget(id),TableWidget(ip)] :param ip_comma_interval: :return: ''' ip_id_list = str(ip_comma_interval).split(",") for ip_id in ip_id_list: ip = ip_id.split(":")[0] id = ip_id.split(":")[1] id_item = QTableWidgetItem(id) ip_item = QTableWidgetItem(ip) id_item.setTextAlignment(Qt.AlignCenter) ip_item.setTextAlignment(Qt.AlignCenter) yield [id_item, ip_item]
def insert_players(self, distr, players_list): """Вставляет фамилии участников в таблицу.""" for g, group in enumerate(distr): sum_rating = 0 for p, player in enumerate(group): itm = "{name}, {association}".format( name=players_list[player - 1][0], association=players_list[player - 1][2]) item = QTableWidgetItem(itm) item.setTextAlignment(Qt.AlignCenter) self.setItem(p, g, item) sum_rating += players_list[player - 1][1] item = QTableWidgetItem(str(sum_rating)) item.setTextAlignment(Qt.AlignCenter) self.setItem(p + 1, g, item)
def showTableData(self, headers, table_df): # 设置行列 self.detail_trend_table.setRowCount(table_df.shape[0]) col_count = len(headers) self.detail_trend_table.setColumnCount(col_count) self.detail_trend_table.setHorizontalHeaderLabels(headers) self.detail_trend_table.horizontalHeader().setSectionResizeMode( QHeaderView.ResizeToContents) for row, row_content in enumerate(table_df.values.tolist()): for col, value in enumerate(row_content): if col == 0: # 时间类 value = value.strftime('%Y-%m-%d') item = QTableWidgetItem(value) item.setTextAlignment(Qt.AlignCenter) self.detail_trend_table.setItem(row, col, item)
def settableitem(self, items): for i in range(0, self.pagesize): row_1 = items[i] if i < len(items) else None for j in range(0, self.columnsize): item = QTableWidgetItem() if row_1 is None: item.setText("") elif str(row_1.get(self.biDao.keymap[j])) == "None": item.setText("") else: item.setText(str(row_1.get(self.biDao.keymap[j]))) # 设置居中 item.setTextAlignment(Qt.AlignCenter) self.tableWidget.setItem(i, j, item) self.setTableNo()
def _creat_table_show(self, name): mylist = self.data._header_name() row, col, data = self.data._query_salesman(name) self.tableWidget.setColumnCount(col) self.tableWidget.setRowCount(row) self.tableWidget.setHorizontalHeaderLabels(mylist) for i in range(len(data)): var = list(data[i]) var.pop(0) for j in range(len(var)): newItem = QTableWidgetItem(str(var[j])) newItem.setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter) self.tableWidget.setItem(i, j, newItem) #self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents) self.tableWidget.horizontalHeader().setSectionResizeMode(len(mylist)-1, QHeaderView.ResizeToContents)
def fill_table_new(data=None, obj=None, len_rows=0): # Create table len_columns = 1 obj.setColumnCount(len_columns) if data is not None: obj.setRowCount(len_rows) obj.setHorizontalHeaderLabels(['الاصناف']) header = obj.horizontalHeader() header.setStretchLastSection(True) if data is not None: if len(data) > 0: item = QTableWidgetItem(str(data)) item.setTextAlignment(Qt.AlignHCenter) obj.setItem(len_rows - 1, 0, item)
def __setData__(self): for row, lst in enumerate(self.dataFrame.values): self.insertRow(row + 1) self.setRowHeight(row + 1, 50) for col, data in enumerate(lst): if col != 0: data = valueTran.returnTranValue(data) item = QTableWidgetItem(str(data)) item.setFlags(Qt.ItemIsEditable) if col != 0: item.setTextAlignment(Qt.AlignCenter) if col == 0 and data == '합계': item.setTextAlignment(Qt.AlignCenter) self.setItem(row + 1, col, item) self.resizeColumnsToContents()
def saveIdLabelToDictCallback(self): if (not self.saveIdToDictLineEdit.text()) or (not self.saveLabelToDictLineEdit.text()): return newRow = self.idLabelDictTable.rowCount() self.idLabelDictTable.insertRow(newRow) widgetItem = QTableWidgetItem() widgetItem.setTextAlignment(Qt.AlignVCenter | Qt.AlignHCenter) widgetItem.setText(self.saveIdToDictLineEdit.text()) self.idLabelDictTable.setItem(newRow, 0, QTableWidgetItem(widgetItem)) widgetItem.setText(self.saveLabelToDictLineEdit.text()) self.idLabelDictTable.setItem(newRow, 1, QTableWidgetItem(widgetItem)) self.idLabelDict[str(self.saveIdToDictLineEdit.text())] = str(self.saveLabelToDictLineEdit.text()) self.saveIdToDictLineEdit.setText('') self.saveLabelToDictLineEdit.setText('') self.saveTableToFile(self.idLabelDictTable, "save/labelDict.csv")
def load_csv(self): """Загружает данные игроков из csv файла в таблицу.""" file_name, _ = QFileDialog.getOpenFileName( None, "Load players list", "", "Csv Files (*.csv);;All Files (*)") if file_name: for _ in range(self.table.rowCount()): self.table.removeRow(0) with open(file_name) as f: reader = csv.reader(f, delimiter=';', lineterminator='\n') for j, row in enumerate(reader): self.table.insertRow(self.table.rowCount()) for i, element in enumerate(row): item = QTableWidgetItem(element) item.setTextAlignment(QtCore.Qt.AlignCenter) self.table.setItem(j, i, item)
def sold(self, tick): results = self.findItems(tick.T, Qt.MatchExactly) if results: if len(results) > 1: for row in results: if not self.item(row.row(), 3): tItem = QTableWidgetItem(str(tick.C)) tItem.setTextAlignment(Qt.AlignCenter) self.setItem(row.row(), 3, tItem) for j in range(self.columnCount()): if tick.prevProfit > 0: self.item(row.row(), j).setBackground(color('green')) else: self.item(row.row(), j).setBackground(color('red'))
def __init__(self, ticker="BTC"): super().__init__() uic.loadUi("resource/orderbook.ui", self) self.ticker = ticker # ----------------- 추 가 ------------------ self.asksAnim = [] self.bidsAnim = [] # ------------------------------------------ for i in range(self.tableBids.rowCount()): # 매도호가 item_0 = QTableWidgetItem(str("")) item_0.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tableAsks.setItem(i, 0, item_0) item_1 = QTableWidgetItem(str("")) item_1.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tableAsks.setItem(i, 1, item_1) item_2 = QProgressBar(self.tableAsks) item_2.setAlignment(Qt.AlignRight | Qt.AlignVCenter) item_2.setStyleSheet(""" QProgressBar {background-color : rgba(0, 0, 0, 0%);border : 1} QProgressBar::Chunk {background-color : rgba(255, 0, 0, 50%);border : 1} """) self.tableAsks.setCellWidget(i, 2, item_2) # ----------------- 추 가 ------------------ anim = QPropertyAnimation(item_2, b"value") anim.setDuration(200) self.asksAnim.append(anim) # ------------------------------------------ # 매수호가 item_0 = QTableWidgetItem(str("")) item_0.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tableBids.setItem(i, 0, item_0) item_1 = QTableWidgetItem(str("")) item_1.setTextAlignment(Qt.AlignRight | Qt.AlignVCenter) self.tableBids.setItem(i, 1, item_1) item_2 = QProgressBar(self.tableBids) item_2.setAlignment(Qt.AlignRight | Qt.AlignVCenter) item_2.setStyleSheet(""" QProgressBar {background-color : rgba(0, 0, 0, 0%);border : 1} QProgressBar::Chunk {background-color : rgba(0, 255, 0, 40%);border : 1} """) self.tableBids.setCellWidget(i, 2, item_2) # ----------------- 추 가 ------------------ anim = QPropertyAnimation(item_2, b"value") anim.setDuration(200) self.bidsAnim.append(anim) # ------------------------------------------ self.ow = OrderbookWorker(self.ticker) self.ow.dataSent.connect(self.updateData) self.ow.start()
def setupUi(self, FindCollateralTxDlg): self.dlg = FindCollateralTxDlg FindCollateralTxDlg.resize(658, 257) FindCollateralTxDlg.setModal(True) self.vBox = QVBoxLayout(FindCollateralTxDlg) self.vBox.setContentsMargins(8, 8, 8, 8) self.vBox.setSpacing(8) self.hBox = QHBoxLayout() self.hBox.setContentsMargins(-1, 8, -1, 6) self.addrLabel = QLabel(FindCollateralTxDlg) self.hBox.addWidget(self.addrLabel) self.edtAddress = QLineEdit(FindCollateralTxDlg) self.edtAddress.setReadOnly(True) self.hBox.addWidget(self.edtAddress) spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) self.hBox.addItem(spacerItem) self.hBox.setStretch(1, 1) self.vBox.addLayout(self.hBox) self.lblMessage = QLabel(FindCollateralTxDlg) self.lblMessage.setText("") self.lblMessage.setWordWrap(True) self.vBox.addWidget(self.lblMessage) self.tableW = QTableWidget(FindCollateralTxDlg) self.tableW.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents) self.tableW.setSelectionMode(QAbstractItemView.SingleSelection) self.tableW.setSelectionBehavior(QAbstractItemView.SelectRows) self.tableW.setShowGrid(True) self.tableW.setColumnCount(4) self.tableW.setRowCount(0) self.tableW.horizontalHeader().setSectionResizeMode( 2, QHeaderView.Stretch) self.tableW.verticalHeader().hide() item = QTableWidgetItem() item.setText("PIVs") item.setTextAlignment(Qt.AlignCenter) self.tableW.setHorizontalHeaderItem(0, item) item = QTableWidgetItem() item.setText("Confirmations") item.setTextAlignment(Qt.AlignCenter) self.tableW.setHorizontalHeaderItem(1, item) item = QTableWidgetItem() item.setText("TX Hash") item.setTextAlignment(Qt.AlignCenter) self.tableW.setHorizontalHeaderItem(2, item) item = QTableWidgetItem() item.setText("TX Output N") item.setTextAlignment(Qt.AlignCenter) self.tableW.setHorizontalHeaderItem(3, item) self.vBox.addWidget(self.tableW) self.buttonBox = QDialogButtonBox(FindCollateralTxDlg) self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) self.vBox.addWidget(self.buttonBox) btnCancel = self.buttonBox.button(QDialogButtonBox.Cancel) btnCancel.clicked.connect(self.reject) btnOk = self.buttonBox.button(QDialogButtonBox.Ok) btnOk.clicked.connect(self.accept)
def show_add_processes_gui(maingui): """ :param maingui: :return: """ try: maingui.dialogAddProc = AddProc() qtable = maingui.dialogAddProc.ui.tableProc process_list = list(filter(None, set(get_process_list().split("\n")))) num_processes = len(process_list) qtable.setColumnCount(3) qtable.setRowCount(num_processes) qtable.setHorizontalHeaderLabels(["Add", "Process Name", "Path"]) qtable.setColumnWidth(0, 20) qtable.setColumnWidth(1, 100) qtable.setColumnWidth(2, 500) for r in range(0, num_processes): processname = QTableWidgetItem() processpath = QTableWidgetItem() processname.setText(str(process_list[r]).split(" | ")[0]) processpath.setText(str(process_list[r]).split(" | ")[1]) qtable.setItem(r, 1, processname) qtable.setItem(r, 2, processpath) chkboxitem = QTableWidgetItem() chkboxitem.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) chkboxitem.setTextAlignment(Qt.AlignRight) chkboxitem.setCheckState(Qt.Unchecked) qtable.setItem(r, 0, chkboxitem) maingui.dialogAddProc.exec_() load_data_into_table(maingui) except Exception as ex: print_exception(ex)
def add_record(self, score, music, artist, album, musicRid): countRow = self.rowCount() scoreItem = QTableWidgetItem(score) scoreItem.setTextAlignment(Qt.AlignCenter) musicItem = QTableWidgetItem(music) artistItem = QTableWidgetItem(artist) albumItem = QTableWidgetItem(album) musicRidItem = QTableWidgetItem(musicRid) self.insertRow(countRow) self.setRowHeight(countRow, 32) self.setItem(countRow, 0, scoreItem) self.setItem(countRow, 1, musicItem) self.setItem(countRow, 2, artistItem) self.setItem(countRow, 3, albumItem) self.setItem(countRow, 4, musicRidItem)
def showFiles(self, files): for fn in files: file = QFile(self.currentDir.absoluteFilePath(fn)) size = QFileInfo(file).size() fileNameItem = QTableWidgetItem(fn) fileNameItem.setFlags(fileNameItem.flags() ^ Qt.ItemIsEditable) sizeItem = QTableWidgetItem("%d KB" % (int((size + 1023) / 1024))) sizeItem.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) sizeItem.setFlags(sizeItem.flags() ^ Qt.ItemIsEditable) row = self.filesTable.rowCount() self.filesTable.insertRow(row) self.filesTable.setItem(row, 0, fileNameItem) self.filesTable.setItem(row, 1, sizeItem) self.filesFoundLabel.setText("%d file(s) found (Double click on a file to open it)" % len(files))
def __insertRow(self, repoName, repoAddress): currentRow = self.settings.repoListView.rowCount() self.settings.repoListView.insertRow(currentRow) checkbox = QCheckBox(self.settings.repoListView) checkbox.toggled.connect(self.markChanged) self.settings.repoListView.setCellWidget(currentRow, 0, checkbox) self.settings.repoListView.cellWidget(currentRow, 0).setChecked(self.iface.isRepoActive(repoName)) repoNameItem = QTableWidgetItem() repoNameItem.setText(repoName) repoNameItem.setTextAlignment(Qt.AlignLeft|Qt.AlignVCenter) self.settings.repoListView.setItem(currentRow, 1, repoNameItem) repoAddressItem = QTableWidgetItem() repoAddressItem.setText(repoAddress) repoAddressItem.setTextAlignment(Qt.AlignLeft|Qt.AlignVCenter) self.settings.repoListView.setItem(currentRow, 2, repoAddressItem)
def ui_calc_awg(self): if self.table_widget.rowCount(): self.pb_awg.setEnabled(False) self.table_widget.insertRow(0) self.table_widget.insertRow(0) self.table_widget.setSpan(0, 0, 1, 20) item = QTableWidgetItem("СРЕДНИЕ ЗНАЧЕНИЯ") item.setTextAlignment(Qt.AlignHCenter) self.table_widget.setItem(0, 0, item) for col in range(8, self.table_widget.columnCount()): list = [] for row in range(2, self.table_widget.rowCount()): list.append(float(self.table_widget.item(row, col).text())) else: item = QTableWidgetItem(str(round(sum(list) / len(list), 4))) self.table_widget.setItem(1, col, item)
def updateWearableTable(self, wearable, isNew): if (isNew): self.tables[TID_W].insertRow(0) # "Name" item with xmlId data item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(wearable.name) item.setData(5, wearable.xmlId) self.tables[TID_W].setItem(0, 0, item) # "Wearable ID" item item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(str(wearable.hwId)) self.tables[TID_W].setItem(0, 1, item) else: items = self.tables[TID_W].selectedItems() items[0].setText(wearable.name) items[1].setText(str(wearable.hwId))
def init_tabla(self): self.restTable.clear() self.restTable.setColumnCount(self.cant_var + 2) self.restTable.setHorizontalHeaderLabels( ['x%d' % i for i in range(self.cant_var)] + ['--', 'Peso Total']) self.restTable.setRowCount(self.cant_rest) self.restTable.setVerticalHeaderLabels(['r%d' % i for i in range(self.cant_rest)]) for x in range(self.cant_rest): item2 = QTableWidgetItem(str('<=')) for y in range(self.cant_var + 2): item = QTableWidgetItem(str(0)) if y == self.cant_var: item2.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.restTable.setItem(x, y, item2) continue item.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.restTable.setItem(x, y, item) self.foTable.clear() self.foTable.setColumnCount(self.cant_var) self.foTable.setHorizontalHeaderLabels( ['x%d' % i for i in range(self.cant_var)]) self.foTable.setRowCount(1) self.foTable.setVerticalHeaderLabels(['z=']) for x in range(self.cant_var): item = QTableWidgetItem(str(0)) item.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) self.foTable.setItem(0, x, item)
def inquiry_balance(self): """ 예수금상세현황과 계좌평가잔고내역을 요청후 테이블에 출력한다. """ self.in_processing = True #self.inquiryTimer.stop() #self.timer_stock.stop() try: # 예수금상세현황요청 self.kiwoom.set_input_value("계좌번호", self.accountComboBox.currentText()) self.kiwoom.set_input_value("비밀번호", "0000") self.kiwoom.comm_rq_data("예수금상세현황요청", "opw00001", 0, "2000") # 계좌평가잔고내역요청 - opw00018 은 한번에 20개의 종목정보를 반환 self.kiwoom.set_input_value("계좌번호", self.accountComboBox.currentText()) self.kiwoom.set_input_value("비밀번호", "0000") self.kiwoom.comm_rq_data("계좌평가잔고내역요청", "opw00018", 0, "2000") while self.kiwoom.inquiry == '2': time.sleep(0.2) self.kiwoom.set_input_value("계좌번호", self.accountComboBox.currentText()) self.kiwoom.set_input_value("비밀번호", "0000") self.kiwoom.comm_rq_data("계좌평가잔고내역요청", "opw00018", 2, "2") except (ParameterTypeError, ParameterValueError, KiwoomProcessingError) as e: self.show_dialog('Critical', e) # accountEvaluationTable 테이블에 정보 출력 item = QTableWidgetItem(self.kiwoom.data_opw00001) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.accountEvaluationTable.setItem(0, 0, item) for i in range(1, 6): item = QTableWidgetItem(self.kiwoom.data_opw00018['account_evaluation'][i-1]) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.accountEvaluationTable.setItem(0, i, item) self.accountEvaluationTable.resizeRowsToContents() # Item list item_count = len(self.kiwoom.data_opw00018['stocks']) self.stocksTable.setRowCount(item_count) with open('../data/stocks_in_account.txt', 'wt', encoding='utf-8') as f_stock: f_stock.write('%d\n'%self.kiwoom.data_opw00001) for i in range(item_count): row = self.kiwoom.data_opw00018['stocks'][i] for j in range(len(row)-1): f_stock.write('%s,'%row[j].replace(',', '')) if j == len(row)-2: f_stock.write('%s,'%row[-1]) item = QTableWidgetItem(row[j]) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.stocksTable.setItem(i, j, item) f_stock.write('\n') self.stocksTable.resizeRowsToContents() # 데이터 초기화 self.kiwoom.opw_data_reset() self.in_processing = False
def updateDeviceTable(self, device, isNew): if (isNew): self.tables[TID_D].insertRow(0) # "Name" item with xmlId data item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(device.name) item.setData(5, device.xmlId) self.tables[TID_D].setItem(0, 0, item) # "Bluetooth Address" item item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(device.hwId) self.tables[TID_D].setItem(0, 1, item) # "Type" item item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(DEVICE_TYPES[device.devType]) self.tables[TID_D].setItem(0, 2, item) else: items = self.tables[TID_D].selectedItems() items[0].setText(device.name) items[2].setText(device.hwId) items[2].setText(DEVICE_TYPES[device.devType])
def updateZoneTable(self, zone, isNew): if (isNew): self.tables[TID_Z].insertRow(0) # "Name" item with xmlId data item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(zone.name) item.setData(5, zone.xmlId) self.tables[TID_Z].setItem(0, 0, item) # "Module ID" item item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(str(zone.hwId)) self.tables[TID_Z].setItem(0, 1, item) # "Threshold" item item = QTableWidgetItem() item.setTextAlignment(ITEM_ALIGN_FLAGS) item.setFlags(ITEM_INTERACT_FLAGS) item.setText(str(zone.threshold)) self.tables[TID_Z].setItem(0, 2, item) else: items = self.tables[TID_Z].selectedItems() items[0].setText(zone.name) items[1].setText(str(zone.hwId)) items[2].setText(str(zone.threshold))
def _load_table(self, assignments): from PyQt5.QtCore import Qt self.tbl.clear() if not assignments: return self.tbl.setRowCount(len(assignments)) self.tbl.setColumnCount(4) self.tbl.setHorizontalHeaderLabels([ 'Employee' if type(self.owner) is Project else 'Project', 'FM', 'LM', '%' ]) self.tbl.verticalHeader().hide() self.tbl.setColumnWidth(0, 180) self.tbl.setColumnWidth(1, 50) self.tbl.setColumnWidth(2, 50) self.tbl.setColumnWidth(3, 30) for row, asn in enumerate(assignments): if type(self.owner) is Project: item = QTableWidgetItem(asn.employee_name) else: item = QTableWidgetItem(asn.project_name) self.tbl.setItem(row, 0, item) item = QTableWidgetItem(Monkey.prettify(asn.first_month)) item.setTextAlignment(Qt.AlignRight) self.tbl.setItem(row, 1, item) item = QTableWidgetItem(Monkey.prettify(asn.last_month)) item.setTextAlignment(Qt.AlignRight) self.tbl.setItem(row, 2, item) item = QTableWidgetItem(str(asn.effort)) item.setTextAlignment(Qt.AlignRight) self.tbl.setItem(row, 3, item) self.tbl.setCurrentItem(self.tbl.item(0, 0)) self._item_selected()
def initUI(self): self.setWindowTitle("QTableWidget 例子") self.resize(430,230); conLayout = QHBoxLayout() tableWidget = QTableWidget() tableWidget.setRowCount(4) tableWidget.setColumnCount(3) conLayout.addWidget(tableWidget ) tableWidget.setHorizontalHeaderLabels(['姓名','性别','体重(kg)']) newItem = QTableWidgetItem("张三") newItem.setTextAlignment( Qt.AlignRight| Qt.AlignBottom ) tableWidget.setItem(0, 0, newItem) newItem = QTableWidgetItem("男") tableWidget.setItem(0, 1, newItem) newItem = QTableWidgetItem("160") tableWidget.setItem(0, 2, newItem) self.setLayout(conLayout)
def insertRound(self, r): winner = r.getWinner() i = r.getNumRound() - 1 self.insertRow(i) for j, player in enumerate(self.engine.getListPlayers()): item = QTableWidgetItem() item.setFlags(item.flags() ^ QtCore.Qt.ItemIsEditable) item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) score = r.getPlayerScore(player) if score > 0: background = self.bgcolors[0] else: background = self.bgcolors[1] item.setBackground(QtGui.QBrush(QtGui.QColor(background))) text = str(score) if player == winner: text += i18n( "RatukiRoundTable", " (Winner)") item.setText(text) self.setItem(i, j, item) self.scrollToBottom()
def inquiryBalance(self): """ 예수금상세현황과 계좌평가잔고내역을 요청후 테이블에 출력한다. """ self.inquiryTimer.stop() try: # 예수금상세현황요청 self.kiwoom.setInputValue("계좌번호", self.accountComboBox.currentText()) self.kiwoom.setInputValue("비밀번호", "0000") self.kiwoom.commRqData("예수금상세현황요청", "opw00001", 0, "2000") # 계좌평가잔고내역요청 - opw00018 은 한번에 20개의 종목정보를 반환 self.kiwoom.setInputValue("계좌번호", self.accountComboBox.currentText()) self.kiwoom.setInputValue("비밀번호", "0000") self.kiwoom.commRqData("계좌평가잔고내역요청", "opw00018", 0, "2000") while self.kiwoom.inquiry == '2': time.sleep(0.2) self.kiwoom.setInputValue("계좌번호", self.accountComboBox.currentText()) self.kiwoom.setInputValue("비밀번호", "0000") self.kiwoom.commRqData("계좌평가잔고내역요청", "opw00018", 2, "2") except (ParameterTypeError, ParameterValueError, KiwoomProcessingError) as e: self.showDialog('Critical', e) # accountEvaluationTable 테이블에 정보 출력 item = QTableWidgetItem(self.kiwoom.opw00001Data) # d+2추정예수금 item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.accountEvaluationTable.setItem(0, 0, item) for i in range(1, 6): item = QTableWidgetItem(self.kiwoom.opw00018Data['accountEvaluation'][i-1]) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.accountEvaluationTable.setItem(0, i, item) self.accountEvaluationTable.resizeRowsToContents() # stocksTable 테이블에 정보 출력 cnt = len(self.kiwoom.opw00018Data['stocks']) self.stocksTable.setRowCount(cnt) for i in range(cnt): row = self.kiwoom.opw00018Data['stocks'][i] for j in range(len(row)): item = QTableWidgetItem(row[j]) item.setTextAlignment(Qt.AlignVCenter | Qt.AlignRight) self.stocksTable.setItem(i, j, item) self.stocksTable.resizeRowsToContents() # 데이터 초기화 self.kiwoom.opwDataReset() # inquiryTimer 재시작 self.inquiryTimer.start(1000*10)