如何控制 QTableWidget 标题的外观

alp*_*ric 2 python pyqt qtablewidget qtablewidgetitem

如何更改QTableWidget标题的字体及其内容边距和间距?我想让“Column 0”、“Column 1”的字体变小,并且列名称和标题边缘之间没有间距。

在此输入图像描述

from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])

columns = ['Column 0', 'Column 1', 'Column 2']
items = [['Row%s Col%s'%(row,col) for col in range(len(columns))] for row in range(100)]

view = QtGui.QTableWidget()
view.setColumnCount(len(columns))
view.setHorizontalHeaderLabels(columns)
view.setRowCount(len(items))   
for row, item in enumerate(items):
    for col, column_name in enumerate(item):
        item = QtGui.QTableWidgetItem("%s"%column_name)
        view.setItem(row, col, item)            
    view.setRowHeight(row, 16)

view.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

小智 5

我找不到删除边距的方法,但我可以建议一个临时的解决方法。resizeColumnsToContents()在将物品填满表格之前,您可以尝试这样做

对于字体你可以尝试做下一个

afont = PyQt4.QtGui.QFont()
afont.setFamily("Arial Black")
afont.setPointSize(11)
atable.horizontalHeaderItem(0).setFont(afont)
Run Code Online (Sandbox Code Playgroud)

如果您想查看更多系列,您可以随时查看 QtDesigner 中可用的系列。

标题项只不过是 QTableWidgetItems。因此,您所要做的就是访问它们并将它们视为任何 QTableWidgetItem

不过,答案与前一个几乎相同。