Beispiel #1
0
    def updateTables(self):
        self.ui.table.setRowCount(len(
            self.repos))  # redraw table to update for any changes
        for i, r in enumerate(self.repos):
            self.ui.table.setItem(i, 1, QTableWidgetItem(r[0]))
            colourcell = QTableWidgetItem(f"0x{str(hex(r[1]))[2:].zfill(6)}")
            colourcell.setBackground(QColor(r[1]))
            colourcell.setFlags(colourcell.flags() & ~Qt.ItemIsEditable)
            self.ui.table.setItem(i, 0, colourcell)

        # total objects in nested dict, length of all values + number of columns
        self.ui.initable.setRowCount(
            sum(len(v)
                for v in self.inicontents.values()) + len(self.inicontents))
        secfont = QFont()
        secfont.setFamily(u"Sans Serif")
        secfont.setBold(True)
        pos = 0
        for sec in self.inicontents:
            item = QTableWidgetItem(sec)
            item.setFont(secfont)
            item.setFlags(item.flags() & ~Qt.ItemIsEditable)
            self.ui.initable.setItem(pos, 0, item)
            item = QTableWidgetItem()  # empty tile next to section header
            item.setFlags(
                item.flags() &
                ~Qt.ItemIsEditable)  # done to prevent editing the blank space
            self.ui.initable.setItem(pos, 1, item)
            pos += 1
            for k, v in zip(self.inicontents[sec].keys(),
                            self.inicontents[sec].values()):
                self.ui.initable.setItem(pos, 0, QTableWidgetItem(k))
                self.ui.initable.setItem(pos, 1, QTableWidgetItem(v))
                pos += 1
Beispiel #2
0
    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.setFont(QFont("Times", 12, QFont.Black))
        tableWidget.setItem(0, 0, newItem)

        newItem = QTableWidgetItem("男")
        newItem.setFont(QFont("Times", 12, QFont.Black))
        tableWidget.setItem(0, 1, newItem)

        newItem = QTableWidgetItem("160")
        newItem.setFont(QFont("Times", 12, QFont.Black))
        tableWidget.setItem(0, 2, newItem)

        self.setLayout(conLayout)