如何更改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_()
答案 0 :(得分:1)
您可以使用以下命令更改fontsize:
item = QtGui.QTableWidgetItem()
font = QtGui.QFont()
font.setPointSize(14)
item.setFont(font)
我不知道如何更改边距和间距。如果我发现,我可以更新这个答案。 我建议使用QTDesigner来处理布局。
编辑: 在QtDesigner中,您可以使用以下选项更改水平和垂直标题大小:horizontalHeaderDefaultSectionSize和verticalHeaderDefaultSectionSize以及标题字体,方法是单击它并在属性中选择所需的字体。
答案 1 :(得分:1)
我找不到擦除边距的方法,但我可以建议一个临时的解决方法。 在填写表格
之前,您可以尝试resizeColumnsToContents()
对于字体,您可以尝试执行下一步
afont = PyQt4.QtGui.QFont()
afont.setFamily("Arial Black")
afont.setPointSize(11)
atable.horizontalHeaderItem(0).setFont(afont)
如果您想看到更多家庭,您可以随时查看QtDesigner中的可用家庭。
标题项只不过是QTableWidgetItems。因此,您所要做的就是访问它们并将它们视为任何QTableWidgetItem
尽管如此,answear几乎与前一个相同。