Source code for qtdraw.widget.table_view

"""
TableView widget.

This module provides table view widget.
"""

from PySide6.QtWidgets import QTableWidget
from qtdraw.widget.custom_widget import Label


# ==================================================
[docs] class TableView(QTableWidget): # ================================================== def __init__(self, parent=None, data=[[""]], header=None, vertical=False, color="black", size=12, dpi=120): """ Table view (math). Args: parent (QWidget, optional): parent. data (list, optional): table data in LaTeX code without "$". header (list, optional): header string. vertical (bool, optional): show vertical number header ? color (str, optional): color name. size (int, optional): font size. dpi (int, optional): DPI. """ super().__init__(parent) row = len(data) column = len(data[0]) self.setRowCount(row) self.setColumnCount(column) if header is not None: self.setHorizontalHeaderLabels(header) self.horizontalHeader().setStyleSheet("font-weight: bold;") else: self.horizontalHeader().setVisible(False) self.verticalHeader().setVisible(vertical) for i, r in enumerate(data): for j, item in enumerate(r): item = str(item) if item != "": label = Label(self, item, color=color, size=size, math=True, dpi=dpi) label.setContentsMargins(5, 5, 5, 5) self.setCellWidget(i, j, label) self.resizeColumnsToContents() self.resizeRowsToContents()