如何在 PyQt5 中为 QTableWidget 的单元格设置样式?

How can I style the cells of a QTableWidget in PyQt5?

我是 Qt 和 PyQt 的新手,想知道如何为 QTableWidget 的单元格设置样式。例如,我想添加一些 etxra 填充。我尝试像下面的代码一样设置样式表,但没有任何效果。我也在网上查了,也没找到解决方法。

我使用 PyQT5(Arch python-pyqt5 5.15.4-1 Linux)。

这是我的代码:

import sys

from PyQt5.QtWidgets import QApplication,QMainWindow, QTableWidget, QTableWidgetItem


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Table Test')
        table = QTableWidget(self)
        table.setColumnCount(4)
        table.setRowCount(3)
        for j in range(table.rowCount()):
            for k in range(table.columnCount()):
                table.setItem(j, k, QTableWidgetItem("{}{}".format(j, k)))
        self._centralWidget = table
        self.setCentralWidget(self._centralWidget)
        self.resize(500, 200)


def main():
    app = QApplication(sys.argv)
    view = MainWindow()
    view.setStyleSheet("QTableWidget::item {padding: 5px}")
    view.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

有人可以帮忙吗?

我自己回答问题。我在上面@musicamante 的评论的帮助下找到了解决方案。

将边距设置为 0 就可以了:

view.setStyleSheet("QTableWidget::item {border: 0px; padding: 5px;}")

现在单元格的内边距为 5px。