Я недавно начал изучать PyQt. Сейчас создаю таблицу. Столбцы должны быть одинакового размера, высота строк настраивается под объем текста. Код такой:
#!/usr/bin/python3 import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * font_family='LiberationMono' font_size=14 width=1024 height=768 article='''Макаров go (в сочетании с последующим герундием выражает действие, соответствующее значению герундия) Габон (государство в юго-западной Африке) присест (Баян) заход (I cannot do it in one go - Я не могу сделать это за один заход / с первого захода Баян) готовый к запуску ''' article=article.splitlines() for i in range(len(article)): article[i]=article[i].split('\t') app = QApplication(sys.argv) table = QTableWidget() tableItem = QTableWidgetItem() table.resize(width,height) table.setRowCount(len(article)) table.setColumnCount(len(article[0])) # Merge columns 1-4 of row 0 table.setSpan(0,1,1,4) standard_col = width/len(article[0]) for i in range(len(article[0])): table.setColumnWidth(i,standard_col) for i in range(len(article)): for j in range(len(article[i])): elem = QTableWidgetItem(article[i][j]) table.setItem(i,j,elem) elem.setTextAlignment(Qt.AlignLeft | Qt.AlignTop) elem.setFont(QFont(font_family,font_size)) table.verticalHeader().setSectionResizeMode(i,QHeaderView.ResizeToContents) table.show() app.exec_()
Вопрос вдогонку - а почему колонки не полностью помещаются в окно? Если с помощью стрелок переместиться в последнюю колонку, то можно заметить, что в первой колонке текст урезается на 1 символ, иногда больше.