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

Python 如何在PyQt5中设置QTableWidget的单元格样式?,python,qt,pyqt,pyqt5,Python,Qt,Pyqt,Pyqt5,我不熟悉Qt和PyQt,不知道如何设计QTableWidget的单元格。例如,我想添加一些etxra填充。我试图像下面的代码中那样设置样式表,但没有任何效果。我也搜索了互联网,但没有找到解决方案 我使用PyQT5(ArchLinux上的python-PyQT5 5.15.4-1) 这是我的代码: import sys from PyQt5.QtWidgets import QApplication,QMainWindow, QTableWidget, QTableWidgetItem cl

我不熟悉Qt和PyQt,不知道如何设计QTableWidget的单元格。例如,我想添加一些etxra填充。我试图像下面的代码中那样设置样式表,但没有任何效果。我也搜索了互联网,但没有找到解决方案

我使用PyQT5(ArchLinux上的python-PyQT5 5.15.4-1)

这是我的代码:

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。

许多类继承自更“通用”的类:QTableWidget继承自QTableView,是它的“方便”版本(它提供了自己的私有模型)。通过谷歌搜索“qtableview padding”首先给出以下结果:(您需要设置一个空边框)。如果您需要更多的定制,您需要更精确,因为这取决于许多方面,不是所有的东西都可以通过样式表进行定制(因为它们只是“实现”CSS概念和语法,但不提供所有CSS功能。@musicamante非常感谢,这非常有帮助,使我能够解决问题!我将在回答我自己的问题时总结解决方案。