Python 如何在PyQt5中设置QTableWidget的单元格样式?
我不熟悉Qt和PyQt,不知道如何设计QTableWidget的单元格。例如,我想添加一些etxra填充。我试图像下面的代码中那样设置样式表,但没有任何效果。我也搜索了互联网,但没有找到解决方案 我使用PyQT5(ArchLinux上的python-PyQT5 5.15.4-1) 这是我的代码: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
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非常感谢,这非常有帮助,使我能够解决问题!我将在回答我自己的问题时总结解决方案。