이 페이지에서

QTextTable Class

QTextTable 클래스는 QTextDocument 내의 표를 나타냅니다. 더 보기...

헤더: #include <QTextTable>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속: QTextFrame

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 함수

void appendColumns(int count)
void appendRows(int count)
QTextTableCell cellAt(int row, int column) const
QTextTableCell cellAt(const QTextCursor &cursor) const
QTextTableCell cellAt(int position) const
int columns() const
QTextTableFormat format() const
void insertColumns(int index, int columns)
void insertRows(int index, int rows)
void mergeCells(int row, int column, int numRows, int numCols)
void mergeCells(const QTextCursor &cursor)
void removeColumns(int index, int columns)
void removeRows(int index, int rows)
void resize(int rows, int columns)
QTextCursor rowEnd(const QTextCursor &cursor) const
QTextCursor rowStart(const QTextCursor &cursor) const
int rows() const
void setFormat(const QTextTableFormat &format)
void splitCell(int row, int column, int numRows, int numCols)

상세 설명

테이블은 행과 열로 정렬된 셀 그룹입니다. 각 테이블은 최소한 하나의 행과 하나의 열을 포함합니다. 각 셀은 블록을 포함하며 프레임으로 둘러싸여 있습니다.

표는 일반적으로 QTextCursor::insertTable() 함수를 사용하여 생성되고 문서에 삽입됩니다. 예를 들어, 다음 코드 줄을 사용하여 편집기의 현재 커서 위치에 행 3개, 열 2개로 구성된 표를 삽입할 수 있습니다.

    QTextCursor cursor(editor->textCursor());
    cursor.movePosition(QTextCursor::Start);

    QTextTable *table = cursor.insertTable(rows, columns, tableFormat);

표의 형식은 표를 생성할 때 정의되거나, 나중에 setFormat()을 사용하여 변경할 수 있습니다.

커서가 현재 편집 중인 표는 QTextCursor::currentTable()를 통해 찾을 수 있습니다. 이를 통해 표가 문서에 삽입된 후에도 그 서식이나 크기를 변경할 수 있습니다.

테이블의 크기는 ` resize()`을 사용하거나, ` insertRows()`, ` insertColumns()`, ` removeRows()`, ` removeColumns()`을 사용하여 변경할 수 있습니다. 테이블 셀을 가져오려면 ` cellAt()`을 사용하십시오.

테이블 행의 시작 및 끝 위치는 테이블 내에서 커서를 이동한 후, rowStart() 및 rowEnd() 함수를 사용하여 각 행의 시작과 끝에 있는 커서를 얻음으로써 확인할 수 있습니다.

QTextTable 내의 행과 열은 mergeCells() 및 splitCell() 함수를 사용하여 병합하거나 분할할 수 있습니다. 그러나 여러 행이나 열에 걸쳐 있는 셀만 분할할 수 있습니다. (병합이나 분할을 해도 행과 열의 수는 증가하거나 감소하지 않습니다.)

여러 열과 행을 하나의 셀로 병합한 경우, 병합된 셀을 다시 여러 행이나 열에 걸쳐 있는 새로운 셀들로 분할할 수 없다는 점에 유의하십시오. 여러 행과 열에 걸쳐 있는 셀을 분할하려면 여러 번의 반복 작업을 수행해야 합니다.

헤더 셀이 분리된 표이름과 주소가 포함된 2x3 표가 있다고 가정해 봅시다. 첫 번째 행의 두 열을 병합하려면 row = 0, column = 0, numRows = 1, numColumns = 2로 설정하여 ` mergeCells()`를 호출합니다.
    table->mergeCells(0, 0, 1, 2);
헤더 셀이 병합된 표그 결과 다음과 같은 표가 생성됩니다. 표의 첫 번째 행을 다시 두 개의 셀로 분할하려면 numRows 와 numCols 를 1로 설정하여 splitCell() 함수를 호출합니다.
    table->splitCell(0, 0, 1, 1);
헤더 셀이 분리된 표그 결과 원래의 표가 생성됩니다.

QTextTableFormat도 참조하십시오 .

멤버 함수 문서

void QTextTable::appendColumns(int count)

테이블의 오른쪽에 count 열을 추가합니다.

insertColumns(), insertRows(), resize(), removeRows(), removeColumns() 및 appendRows()도 참조하십시오 .

void QTextTable::appendRows(int count)

count 행을 테이블 하단에 추가합니다.

insertColumns(), insertRows(), resize(), removeRows(), removeColumns() 및 appendColumns()도 참조하십시오 .

QTextTableCell QTextTable::cellAt(int row, int column) const

테이블에서 지정된 row 및 column 위치에 있는 테이블 셀을 반환합니다.

columns() 및 rows()도 참조하십시오 .

QTextTableCell QTextTable::cellAt(const QTextCursor &cursor) const

지정된 ` cursor`를 포함하는 테이블 셀을 반환합니다.

이 함수는 오버로드된 함수입니다.

QTextTableCell QTextTable::cellAt(int position) const

문서 내 지정된 위치 position 에 있는 문자를 포함하는 테이블 셀을 반환합니다.

이 함수는 오버로드된 함수입니다.

int QTextTable::columns() const

테이블의 열 수를 반환합니다.

rows()도 참조하십시오 .

QTextTableFormat QTextTable::format() const

테이블의 형식을 반환합니다.

setFormat()도 참조하십시오 .

void QTextTable::insertColumns(int index, int columns)

지정된 index 을 가진 열 앞에 columns 을 여러 개 삽입합니다.

insertRows(), resize(), removeRows(), removeColumns(), appendRows() 및 appendColumns()도 참조하십시오 .

void QTextTable::insertRows(int index, int rows)

지정된 index 를 가진 행 앞에 rows 를 여러 개 삽입합니다.

resize(), insertColumns(), removeRows(), removeColumns(), appendRows() 및 appendColumns()도 참조하십시오 .

void QTextTable::mergeCells(int row, int column, int numRows, int numCols)

지정된 row 및 column 위치의 셀을 인접한 셀들과 병합하여 하나의 셀로 만듭니다. 새로 생성된 셀은 numRows 행과 numCols 열에 걸쳐 있습니다. numRows 또는 numCols 값이 해당 셀이 차지하는 현재 행 수나 열 수보다 작을 경우, 이 메서드는 아무런 작업도 수행하지 않습니다.

splitCell()도 참조하십시오 .

void QTextTable::mergeCells(const QTextCursor &cursor)

지정된 cursor 로 선택된 셀을 병합합니다.

이 함수는 오버로드된 함수입니다.

splitCell()도 참조하십시오 .

void QTextTable::removeColumns(int index, int columns)

지정된 index 에 있는 열을 시작으로 여러 개의 columns 를 제거합니다.

insertRows(), insertColumns(), removeRows(), resize(), appendRows() 및 appendColumns()도 참조하십시오 .

void QTextTable::removeRows(int index, int rows)

지정된 index 행부터 시작하는 여러 개의 rows 를 제거합니다.

insertRows(), insertColumns(), resize(), removeColumns(), appendRows(), appendColumns()도 참조하십시오 .

void QTextTable::resize(int rows, int columns)

테이블 크기를 조정하여 필요한 수의 rows 및 columns 를 포함하도록 합니다.

insertRows(), insertColumns(), removeRows() 및 removeColumns()도 참조하십시오 .

QTextCursor QTextTable::rowEnd(const QTextCursor &cursor) const

지정된 ` cursor`가 포함된 행의 끝을 가리키는 커서를 반환합니다.

rowStart()도 참조하십시오 .

QTextCursor QTextTable::rowStart(const QTextCursor &cursor) const

지정된 ` cursor`가 포함된 행의 시작 부분을 가리키는 커서를 반환합니다.

rowEnd()도 참조하십시오 .

int QTextTable::rows() const

테이블의 행 수를 반환합니다.

columns()도 참조하십시오 .

void QTextTable::setFormat(const QTextTableFormat &format)

테이블의 format 을 설정합니다.

format()도 참조하십시오 .

void QTextTable::splitCell(int row, int column, int numRows, int numCols)

row 및 column 에 지정된 셀을, numRows 및 numCols 에 지정된 크기를 가진 여러 셀로 구성된 배열로 분할합니다.

참고: mergeCells()을 사용하여 병합된 행과 같이 여러 행이나 열에 걸쳐 있는 셀만 분할할 수있습니다 .

mergeCells()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.