Qt/PyQt5 강좌

QTableWidget의 컬럼 너비(크기)를 수동으로 조정하기

webnautes 2024. 9. 3. 21:05
반응형

QTableWidget의 컬럼 너비(크기)를 수동으로 조정하는 예제 코드입니다.



2024. 9. 3 최초작성



셀의 크기를 지정하기 전에는 문자열의 일부가 보이지 않는 상태가 됩니다.

 



사용한 코드입니다.

 

import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget

class TableExample(QWidget):
    def __init__(self):
        super().__init__()
       
        # 4행 3열의 테이블로 QTableWidget을 생성합니다.
        self.table_widget = QTableWidget(4, 3)
       
        # QTableWidget의 각 셀에 데이터를 삽입합니다.
        for row in range(4):
            for column in range(3):
                item = QTableWidgetItem(f"Row {row+1}, Col {column+1}" + '@@@'*column)
                self.table_widget.setItem(row, column, item)
       
        # 레이아웃을 설정합니다.
        layout = QVBoxLayout()
        layout.addWidget(self.table_widget)
        self.setLayout(layout)

        # 윈도우 타이틀과 크기를 조정합니다.
        self.setWindowTitle("QTableWidget Example")
        self.resize(500, 300)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = TableExample()
    window.show()
    sys.exit(app.exec_())





셀의 크기를 지정하면 일부가 보이지 않았던 문자열이 제대로 보이는 상태가 됩니다.

 



사용한 코드입니다.

 

import sys
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget

class TableExample(QWidget):
    def __init__(self):
        super().__init__()
       
        # 4행 3열의 테이블로 QTableWidget을 생성합니다.
        self.table_widget = QTableWidget(4, 3)
       
        # QTableWidget의 각 셀에 데이터를 삽입합니다.
        for row in range(4):
            for column in range(3):
                item = QTableWidgetItem(f"Row {row+1}, Col {column+1}" + '@@@'*column)
                self.table_widget.setItem(row, column, item)

        self.table_widget.setColumnWidth(0, 100# 첫 번째 열 너비를 100px로 설정
        self.table_widget.setColumnWidth(1, 150# 두 번째 열 너비를 150px로 설정
        self.table_widget.setColumnWidth(2, 200# 세 번째 열 너비를 200px로 설정

        # 레이아웃을 설정합니다.
        layout = QVBoxLayout()
        layout.addWidget(self.table_widget)
        self.setLayout(layout)

        # 윈도우 타이틀과 크기를 조정합니다.
        self.setWindowTitle("QTableWidget Example")
        self.resize(500, 300)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = TableExample()
    window.show()
    sys.exit(app.exec_())



반응형