Как контролировать внешний вид заголовка QTableWidget
Как изменить QTableWidget
шрифт заголовка и его содержимое поля и интервал? Я хотел бы сделать шрифт для столбца "0", "столбца 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_()
2 ответа
Я не могу найти способ стереть поля, но могу предложить временное решение. Вы можете попробовать resizeColumnsToContents()
прежде чем заполнять таблицу с предметами
Для шрифтов вы можете попробовать сделать следующее
afont = PyQt4.QtGui.QFont()
afont.setFamily("Arial Black")
afont.setPointSize(11)
atable.horizontalHeaderItem(0).setFont(afont)
Если вы хотите увидеть больше семейств, вы всегда можете посмотреть на доступные из QtDesigner.
Элементы заголовка являются не чем иным, как QTableWidgetItems. Поэтому все, что вам нужно сделать, это получить к ним доступ и обращаться с ними как с любым QTableWidgetItem.
Ответ почти такой же, как и предыдущий.
Вы можете изменить размер шрифта с помощью:
item = QtGui.QTableWidgetItem()
font = QtGui.QFont()
font.setPointSize(14)
item.setFont(font)
Я не уверен, как изменить поля и интервалы. Я могу обновить этот ответ, если узнаю. Я предлагаю использовать QTDesigner для работы с макетом.
Редактировать: В QtDesigner вы можете изменить горизонтальный и вертикальный размер заголовка с помощью параметров: horizontalHeaderDefaultSectionSize и verticalHeaderDefaultSectionSize, а также шрифта заголовка, нажав на него и выбрав нужный шрифт в свойствах.