def populate_table(self, table, users): table.setRowCount(0) for row_number, row_data in enumerate(users): table.insertRow(row_number) for col_number, item in enumerate(row_data): new_item = QtWidgets.QTableWidgetItem(item) table.setItem(row_number, col_number, new_item)
def __init__(self, parent=None, settings_dict=None): """ Arguments: parent -- Qt widget that is parent to this widget. settings_dict -- dictionary containing sideview options. """ _translate = QtCore.QCoreApplication.translate super(MSS_SV_OptionsDialog, self).__init__(parent) self.setupUi(self) default_settings_dict = { "vertical_extent": (1050, 180), "vertical_axis": "pressure", "flightlevels": [300, 320, 340], "draw_flightlevels": True, "draw_flighttrack": True, "fill_flighttrack": True, "label_flighttrack": True, "colour_ft_vertices": (0, 0, 0, 0), "colour_ft_waypoints": (0, 0, 0, 0), "colour_ft_fill": (0, 0, 0, 0), "draw_ceiling": True, "colour_ceiling": (0.1, 0.5, 0.1, 0), } suffixes = [' hpa', ' km', ' hft'] if settings_dict is not None: default_settings_dict.update(settings_dict) settings_dict = default_settings_dict self.setBotTopLimits(settings_dict["vertical_axis"]) self.sbPbot.setValue(settings_dict["vertical_extent"][0]) self.sbPtop.setValue(settings_dict["vertical_extent"][1]) flightlevels = settings_dict["flightlevels"] self.tableWidget.setRowCount(len(flightlevels)) flightlevels.sort() for i, level in enumerate(flightlevels): tableitem = QtWidgets.QTableWidgetItem(str(int(level))) self.tableWidget.setItem(i, 0, tableitem) for i in range(self.cbVerticalAxis.count()): if self.cbVerticalAxis.itemText(i) == settings_dict["vertical_axis"]: self.cbVerticalAxis.setCurrentIndex(i) self.sbPbot.setSuffix(_translate("SideViewOptionsDialog", suffixes[i])) self.sbPtop.setSuffix(_translate("SideViewOptionsDialog", suffixes[i])) self.cbDrawFlightLevels.setChecked(settings_dict["draw_flightlevels"]) self.cbDrawFlightTrack.setChecked(settings_dict["draw_flighttrack"]) self.cbFillFlightTrack.setChecked(settings_dict["fill_flighttrack"]) self.cbLabelFlightTrack.setChecked(settings_dict["label_flighttrack"]) self.cbDrawCeiling.setChecked(settings_dict["draw_ceiling"]) for button, ids in [(self.btFillColour, "colour_ft_fill"), (self.btWaypointsColour, "colour_ft_waypoints"), (self.btVerticesColour, "colour_ft_vertices"), (self.btCeilingColour, "colour_ceiling")]: palette = QtGui.QPalette(button.palette()) colour = QtGui.QColor() colour.setRgbF(*settings_dict[ids]) palette.setColor(QtGui.QPalette.Button, colour) button.setPalette(palette) # Connect colour button signals. self.cbVerticalAxis.view().pressed.connect(self.verticalunitsclicked) self.btFillColour.clicked.connect(functools.partial(self.setColour, "ft_fill")) self.btWaypointsColour.clicked.connect(functools.partial(self.setColour, "ft_waypoints")) self.btVerticesColour.clicked.connect(functools.partial(self.setColour, "ft_vertices")) self.btCeilingColour.clicked.connect(functools.partial(self.setColour, "ceiling")) self.btAdd.clicked.connect(self.addItem) self.btDelete.clicked.connect(self.deleteSelected) self.tableWidget.itemChanged.connect(self.itemChanged)
def addItem(self): """Add a new item (i.e. flight level) to the table. """ self.tableWidget.insertRow(0) self.tableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem("0")) self.tableWidget.sortItems(0)