Как вставлять строки в verticalHeaderItem()?
Как вставлять строки в verticalHeaderItem()?
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QWidget, QTableWidget, QTableWidgetItem
from PyQt5.QtCore import QSize, Qt
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.alphabet = "абвгдеёжзийклмнопрстуфхчцьыъэюя"
self.setMinimumSize(QSize(480, 80)) # Устанавливаем размеры
self.setWindowTitle("QTableWidget") # Устанавливаем заголовок окна
central_widget = QWidget(self) # Создаём центральный виджет
self.setCentralWidget(central_widget) # Устанавливаем центральный виджет
grid_layout = QGridLayout() # Создаём QGridLayout
central_widget.setLayout(grid_layout) # Устанавливаем данное размещение в центральный виджет
table = QTableWidget(self) # Создать таблицу
table.setColumnCount(len(self.alphabet))
table.setRowCount(len(self.alphabet))
table.setHorizontalHeaderLabels(list(self.alphabet))
alphabet = self.alphabet
for i in range(len(self.alphabet)):
table.verticalHeaderItem(1)
for j in range(len(self.alphabet)):
table.setItem(i, j, QTableWidgetItem(alphabet[j]))
alphabet = alphabet[-1] + alphabet[:-1]
# делаем ресайз колонок по содержимому
table.resizeColumnsToContents()
grid_layout.addWidget(table, 0, 0) # Добавляем таблицу в сетку
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
void QTableWidget::setVerticalHeaderLabels(const QStringList &labels)
Устанавливает метки вертикального заголовка с помощью меток.
from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, \
QWidget, QTableWidget, QTableWidgetItem
from PyQt5.QtCore import QSize, Qt
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.alphabet = "абвгдеёжзийклмнопрстуфхчцьыъэюя"
self.setMinimumSize(QSize(480, 80)) # Устанавливаем размеры
self.setWindowTitle("QTableWidget") # Устанавливаем заголовок окна
central_widget = QWidget(self) # Создаём центральный виджет
self.setCentralWidget(central_widget) # Устанавливаем центральный виджет
grid_layout = QGridLayout() # Создаём QGridLayout
central_widget.setLayout(grid_layout) # Устанавливаем данное размещение в центральный виджет
table = QTableWidget(self) # Создать таблицу
table.setColumnCount(len(self.alphabet))
table.setRowCount(len(self.alphabet))
table.setHorizontalHeaderLabels(list(self.alphabet))
alphabet = self.alphabet
for i in range(len(self.alphabet)):
table.verticalHeaderItem(1)
for j in range(len(self.alphabet)):
table.setItem(i, j, QTableWidgetItem(alphabet[j]))
alphabet = alphabet[-1] + alphabet[:-1]
# делаем ресайз колонок по содержимому
table.resizeColumnsToContents()
table.setVerticalHeaderLabels(list(self.alphabet)) # +++
grid_layout.addWidget(table, 0, 0) # Добавляем таблицу в сетку
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec())
