QFontMetrics Class
QFontMetrics 클래스는 글꼴 메트릭 정보를 제공합니다. 더 보기...
| 헤더: | #include <QFontMetrics> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 상속된 멤버를 포함한 모든 멤버 목록
- QFontMetrics는 페인팅 클래스 및 암시적 공유 클래스의 일부입니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
공개 함수
| QFontMetrics(const QFont &font) | |
| QFontMetrics(const QFont &font, const QPaintDevice *paintdevice) | |
| QFontMetrics(const QFontMetrics &fm) | |
| QFontMetrics(QFontMetrics &&) | |
| ~QFontMetrics() | |
| int | ascent() const |
| int | averageCharWidth() const |
| QRect | boundingRect(QChar ch) const |
| QRect | boundingRect(const QString &text) const |
(since 6.3) QRect | boundingRect(const QString &text, const QTextOption &option) const |
| QRect | boundingRect(const QRect &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
| QRect | boundingRect(int x, int y, int width, int height, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
| int | capHeight() const |
| int | descent() const |
| QString | elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const |
| qreal | fontDpi() const |
| int | height() const |
(since 6.3) int | horizontalAdvance(const QString &text, const QTextOption &option) const |
| int | horizontalAdvance(const QString &text, int len = -1) const |
| int | horizontalAdvance(QChar ch) const |
| bool | inFont(QChar ch) const |
| bool | inFontUcs4(uint ucs4) const |
| int | leading() const |
| int | leftBearing(QChar ch) const |
| int | lineSpacing() const |
| int | lineWidth() const |
| int | maxWidth() const |
| int | minLeftBearing() const |
| int | minRightBearing() const |
| int | overlinePos() const |
| int | rightBearing(QChar ch) const |
| QSize | size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
| int | strikeOutPos() const |
| void | swap(QFontMetrics &other) |
| QRect | tightBoundingRect(const QString &text) const |
(since 6.3) QRect | tightBoundingRect(const QString &text, const QTextOption &option) const |
| int | underlinePos() const |
| int | xHeight() const |
| bool | operator!=(const QFontMetrics &other) const |
| QFontMetrics & | operator=(QFontMetrics &&other) |
| QFontMetrics & | operator=(const QFontMetrics &fm) |
| bool | operator==(const QFontMetrics &other) const |
상세 설명
QFontMetrics 함수는 주어진 글꼴에 대한 문자 및 문자열의 크기를 계산합니다. 이 클래스는 QFontMetricsF 의 정수 기반 버전이며, 모든 숫자를 가장 가까운 정수로 반올림합니다. 즉, 소수점 미터릭이 포함된 글꼴의 경우 결과가 부정확할 수 있습니다. 대부분의 경우 대신 QFontMetricsF 를 사용해야 합니다.
QFontMetrics 객체를 생성하는 방법에는 세 가지가 있습니다:
- QFont 를 전달하여 QFontMetrics 생성자를 호출하면 화면 호환 글꼴에 대한 글꼴 메트릭스 객체가 생성됩니다. 즉, 해당 글꼴은 프린터용 글꼴일 수 없습니다. 나중에 글꼴이 변경되더라도 글꼴 메트릭스 객체는 업데이트되지 않습니다.
(참고: 프린터용 글꼴을 사용하는 경우 반환되는 값이 부정확할 수 있습니다. 프린터용 글꼴에 항상 접근할 수 있는 것은 아니므로, 프린터용 글꼴이 제공된 경우 가장 유사한 화면용 글꼴이 사용됩니다.)
- QWidget::fontMetrics()는 위젯의 글꼴에 대한 글꼴 메트릭스를 반환합니다. 이는 QFontMetrics(widget->font())와 동일합니다. 나중에 위젯의 글꼴이 변경되더라도 글꼴 메트릭스 객체는 업데이트 되지 않습니다.
- QPainter::fontMetrics()는 페인터의 현재 글꼴에 대한 글꼴 메트릭스를 반환합니다. 나중에 페인터의 글꼴이 변경되더라도 글꼴 메트릭스 객체는 업데이트되지 않습니다.
객체가 생성되면, 이 객체는 글꼴의 개별 메트릭, 글꼴의 문자, 그리고 해당 글꼴로 렌더링된 문자열에 접근할 수 있는 함수들을 제공합니다.
글꼴을 대상으로 작동하는 여러 함수가 있습니다: ` ascent()`, ` descent()`, ` height()`, ` leading()` 및 ` lineSpacing()`는 글꼴의 기본 크기 속성을 반환합니다. ` underlinePos()`, ` overlinePos()`, ` strikeOutPos()` 및 ` lineWidth()` 함수는 문자에 밑줄, 위줄 또는 취소선을 그리는 속성을 반환합니다. 이 함수들은 모두 처리 속도가 빠릅니다.
또한 글꼴 내 글리프 집합을 대상으로 작동하는 몇 가지 함수도 있습니다: minLeftBearing(), minRightBearing() 및 maxWidth(). 이 함수들은 본질적으로 처리 속도가 느리므로, 가능하면 사용을 피하는 것이 좋습니다.
각 문자에 대해 horizontalAdvance(), leftBearing(), rightBearing()를 호출할 수 있으며, inFont()를 사용하여 해당 문자가 폰트에 포함되어 있는지 확인할 수 있습니다. 또한 문자를 문자열로 간주하여 문자열 함수를 적용할 수도 있습니다.
문자열 함수에는 문자열의 진척 폭을 픽셀(또는 프린터의 경우 포인트) 단위로 반환하는 ` horizontalAdvance()`, 렌더링된 문자열을 담을 수 있을 만큼 큰 직사각형을 반환하는 ` boundingRect()`, 그리고 해당 직사각형의 크기를 반환하는 ` size()` 등이 있습니다.
QFontMetrics에는 문자열의 경계를 계산하는 두 가지 함수가 있으며, 각각 여러 오버로드가 있습니다: boundingRect()와 tightBoundingRect(). 정확한 경계 사각형이 필요한 경우 tightBoundingRect()를 사용하는 것이 좋습니다. 이 함수는 각 글리프를 개별적으로 측정하여 렌더링된 텍스트를 꽉 감싸는 경계 사각형을 반환합니다. 플랫폼에 따라 boundingRect() 함수는 근사적인 경계를 반환할 수 있지만, 계산량이 적습니다.
참고: 어드밴스너비는 실제로 렌더링된 텍스트의 너비와 다를 수 있습니다. 이는 문자열의 원점부터 추가 문자를 붙일 위치까지의 거리를 의미합니다. 텍스트에 오버행(예: 이탤릭체 글꼴의 경우)이나 문자 간 패딩이 있을 수 있으므로, 어드밴스 너비는 텍스트의 실제 렌더링 너비보다 작거나 클 수 있습니다. 이를 텍스트의 오른쪽 베어링이라고 합니다.
예시:
QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.horizontalAdvance("What's the advance width of this text?");
int pixelsHigh = fm.height();관련 항목: QFont, QFontInfo, QFontDatabase.
멤버 함수 설명서
[explicit] QFontMetrics::QFontMetrics(const QFont &font)
font 에 대한 글꼴 메트릭스 객체를 생성합니다.
이 글꼴 메트릭은 font 을 생성하는 데 사용된 페인트 디바이스와 호환됩니다.
글꼴 메트릭스 객체는 생성 시 생성자에 전달된 글꼴에 대한 정보를 보유하며, 나중에 글꼴의 속성이 변경되더라도 업데이트되지 않습니다.
QFontMetrics(const QFont &, QPaintDevice *)를 사용하여 특정 페인트 장치와 호환되는 글꼴 메트릭을 가져옵니다.
QFontMetrics::QFontMetrics(const QFont &font, const QPaintDevice *paintdevice)
font 및 paintdevice 에 대한 글꼴 메트릭스 객체를 생성합니다.
이 글꼴 메트릭은 전달된 페인트 디바이스(paintdevice)와 호환됩니다. paintdevice 가 nullptr 인 경우, 메트릭은 화면 호환(screen-compatible)으로 설정됩니다. 즉, QPicture 나 QPrinter 가 아닌 widgets 또는 pixmaps 에서 텍스트를 그릴 때 얻는 메트릭과 동일합니다.
폰트 메트릭스 객체는 생성 시 생성자에 전달된 폰트에 대한 정보를 보관하며, 이후 폰트의 속성이 변경되더라도 업데이트되지 않습니다.
QFontMetrics::QFontMetrics(const QFontMetrics &fm)
fm 의 복사본을 생성합니다.
[constexpr noexcept default] QFontMetrics::QFontMetrics(QFontMetrics &&)
QFontMetrics 의 인스턴스를 생성합니다.
[noexcept] QFontMetrics::~QFontMetrics()
글꼴 메트릭스 객체를 삭제하고 할당된 모든 리소스를 해제합니다.
int QFontMetrics::ascent() const
글꼴의 상승 높이를 반환합니다.
글꼴의 상승 높이는 기준선에서 문자가 닿는 가장 높은 위치까지의 거리입니다. 실제로 일부 글꼴 디자이너는 이 규칙을 어기기도 합니다(예: 문자 위에 악센트를 두 개 이상 붙이거나 특정 문자를 수용하기 위해). 따라서 이 값이 너무 작게 나올 가능성도 있습니다(비록 드물긴 하지만).
descent()도 참조하십시오 .
int QFontMetrics::averageCharWidth() const
글꼴에 포함된 글리프의 평균 너비를 반환합니다.
QRect QFontMetrics::boundingRect(QChar ch) const
좌표계의 원점에 문자 ch 를 그렸을 때 잉크로 채워지는 사각형을 반환합니다.
경계 사각형이 (0, 0)의 왼쪽까지 확장될 수 있으며(예: 이탤릭체 글꼴의 경우), 텍스트 출력이 경계 사각형 내의 모든 픽셀을 덮을 수 있다는 점에 유의하십시오. 공백 문자의 경우, 이 사각형은 대개 비어 있습니다.
이 사각형은 일반적으로 기준선 위와 아래로 모두 확장된다는 점에 유의하십시오.
경고: 반환된 사각형의너비는 문자의 진척 너비가 아닙니다. 대신 boundingRect(const QString &) 또는 horizontalAdvance()을 사용하십시오.
horizontalAdvance()도 참조하십시오 .
QRect QFontMetrics::boundingRect(const QString &text) const
text 로 지정된 문자열 내의 문자들에 대한 경계 사각형을 반환합니다. 이 경계 사각형은 항상 (0, 0) 위치에 텍스트가 그려졌을 때 차지할 픽셀 영역을 최소한 포함합니다.
경계 사각형은 (0, 0)의 왼쪽까지 확장될 수 있다는 점(예: 이탤릭체 글꼴의 경우)과, 반환된 사각형의 너비가 horizontalAdvance() 메서드가 반환하는 값과 다를 수 있다는 점에 유의하십시오.
문자열의 진척 폭을 알고 싶다면(여러 문자열을 나란히 배치하기 위해), 대신 horizontalAdvance()을 사용하십시오.
줄 바꿈 문자는 줄 바꿈이 아닌 일반 문자로 처리됩니다.
바운딩 사각형의 높이는 height()가 반환하는 값만큼 또는 그보다 큽니다.
horizontalAdvance(), height(), QPainter::boundingRect() 및 tightBoundingRect()도 참조하십시오 .
[since 6.3] QRect QFontMetrics::boundingRect(const QString &text, const QTextOption &option) const
text 로 지정된 문자열 내의 문자들을 option 를 사용하여 배열한 후, 해당 문자들의 경계 사각형을 반환합니다. 경계 사각형은 항상 텍스트가 (0, 0) 위치에 그려졌을 때 차지할 픽셀 영역을 최소한으로 포함합니다.
경계 사각형은 (0, 0)의 왼쪽으로 확장될 수 있으며(예: 이탤릭체 글꼴의 경우), 반환된 사각형의 너비는 horizontalAdvance() 메서드가 반환하는 값과 다를 수 있습니다.
문자열의 진척 폭을 알고 싶다면(여러 문자열을 나란히 배치하기 위해), 대신 horizontalAdvance()을 사용하십시오.
줄 바꿈 문자는 줄 바꿈이 아닌 일반 문자로 처리됩니다.
바운딩 사각형의 높이는 height()가 반환하는 값만큼이나 큽니다.
이 함수는 Qt 6.3에서 도입되었습니다.
horizontalAdvance(), height(), QPainter::boundingRect(), tightBoundingRect()도 참조하십시오 .
QRect QFontMetrics::boundingRect(const QRect &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
text 로 지정된 문자열 내 문자들의 경계 사각형을 반환합니다. 이는 텍스트가 (0, 0) 위치에 그려졌을 때 차지하게 될 픽셀 영역입니다. 그리기 영역, 그리고 그에 따른 경계 사각형은 rect 사각형 내에 제한됩니다.
flags 인수는 다음 플래그들의 비트별 OR 연산 결과입니다:
- Qt::AlignLeft 왼쪽 경계에 정렬되지만, 아랍어와 히브리어의 경우 오른쪽 경계에 정렬됩니다.
- Qt::AlignRight 오른쪽 테두리에 정렬하며, 아랍어와 히브리어의 경우 왼쪽에 정렬합니다.
- Qt::AlignJustify 양쪽 정렬 텍스트를 생성합니다.
- Qt::AlignHCenter 수평으로 중앙 정렬합니다.
- Qt::AlignTop 상단 테두리에 정렬합니다.
- Qt::AlignBottom 하단 여백에 정렬합니다.
- Qt::AlignVCenter 수직으로 중앙 정렬합니다.
- Qt::AlignCenter (==
Qt::AlignHCenter | Qt::AlignVCenter) - Qt::TextSingleLine 텍스트 내의 줄바꿈 문자를 무시합니다.
- Qt::TextExpandTabs 탭을 확장합니다(아래 참조).
- Qt::TextShowMnemonic "&x"를 x로 해석합니다. 즉, 밑줄이 그어집니다.
- Qt::TextWordWrap 텍스트를 직사각형 크기에 맞게 분할합니다.
Qt::Horizontal 정렬은 기본적으로 Qt::AlignLeft 이고, 세로 정렬은 기본적으로 Qt::AlignTop 입니다.
여러 개의 수평 정렬 플래그나 여러 개의 수직 정렬 플래그가 설정된 경우, 결과 정렬은 정의되지 않습니다.
flags 에서 Qt::TextExpandTabs 가 설정된 경우, tabArray 가 null이 아니면 탭에 대한 0으로 끝나는 픽셀 위치 시퀀스를 지정하며, 그렇지 않은 경우 tabStops 가 0이 아니면 이를 탭 간격(픽셀 단위)으로 사용합니다.
경계 사각형이 (0, 0)의 왼쪽까지 확장될 수 있다는 점(예: 이탤릭체 글꼴의 경우)과, 텍스트 출력이 경계 사각형 내의 모든 픽셀을 덮을 수 있다는 점에 유의하십시오.
줄 바꿈 문자는 줄 바꿈으로 처리됩니다.
실제 문자 높이는 다르지만, "Yes"와 "yes"의 경계 사각형 높이는 동일합니다.
이 함수는 오버로드된 함수입니다.
horizontalAdvance(), QPainter::boundingRect() 및 Qt::Alignment도 참조하십시오 .
QRect QFontMetrics::boundingRect(int x, int y, int width, int height, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
x 및 y 좌표, width, height 로 지정된 사각형 내에서, 주어진 text 에 대한 경계 사각형을 반환합니다.
Qt::TextExpandTabs 가 flags 에 설정되어 있고 tabArray 가 null이 아닌 경우, 이는 탭을 위한 0으로 끝나는 픽셀 위치 시퀀스를 지정합니다. 그렇지 않은 경우, tabStops 가 0이 아니면 이 값이 탭 간격(픽셀 단위)으로 사용됩니다.
이 함수는 오버로드된 함수입니다.
int QFontMetrics::capHeight() const
글꼴의 대문자 높이를 반환합니다.
글꼴의 대문자 높이는 베이스라인 위 대문자의 높이를 의미합니다. 구체적으로 말하면, O와 같이 둥근 글자나 A와 같이 끝이 뾰족한 글자와 달리, H나 I와 같이 평평한 대문자의 높이를 의미하며, 둥근 글자나 뾰족한 글자는 오버슈트가 발생할 수 있습니다.
ascent()도 참조하십시오 .
int QFontMetrics::descent() const
글꼴의 하강 높이를 반환합니다.
하강 높이는 기준선에서 문자가 닿는 가장 낮은 지점까지의 거리입니다. 실제로 일부 글꼴 디자이너는 특정 문자를 수용하기 위해 이 규칙을 어기기도 하므로, 이 값이 너무 작게 나올 가능성도 있습니다(비록 드물지만).
ascent()도 참조하십시오 .
QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const
문자열 text 의 너비가 width 보다 넓을 경우, 해당 문자열의 생략된 버전(즉, "..."이 포함된 문자열)을 반환합니다. 그렇지 않은 경우, 원본 문자열을 반환합니다.
mode 매개변수는 텍스트가 왼쪽(예: "...tech"), 중간(예: "Tr...ch"), 또는 오른쪽(예: "Trol...")에서 생략될지 여부를 지정합니다.
width 는 문자가 아닌 픽셀 단위로 지정됩니다.
flags 인수는 선택 사항이며, 현재 값으로는 Qt::TextShowMnemonic 만 지원합니다.
mode mode 생략 표시(elide mark)는 생략 위치( layoutdirection) 뒤에 나옵니다. 예를 들어, 생략 위치가 Qt::ElideLeft 인 경우 오른쪽에서 왼쪽으로 진행되는 레이아웃에서는 텍스트의 오른쪽에, 생략 위치가 Qt::ElideRight 인 경우 텍스트의 왼쪽에 표시됩니다.
qreal QFontMetrics::fontDpi() const
글꼴 DPI를 반환합니다.
int QFontMetrics::height() const
글꼴의 높이를 반환합니다.
이 값은 항상 ascent() +descent()과 같습니다.
leading() 및 lineSpacing()도 참조하십시오 .
[since 6.3] int QFontMetrics::horizontalAdvance(const QString &text, const QTextOption &option) const
option 를 사용하여 레이아웃된 text 의 수평 이동 거리(픽셀 단위)를 반환합니다.
이 간격은 text 뒤에 다음 문자를 그릴 때 필요한 거리입니다.
이 함수는 Qt 6.3에서 도입되었습니다.
boundingRect()도 참조하십시오 .
int QFontMetrics::horizontalAdvance(const QString &text, int len = -1) const
text 의 첫 번째 len 문자에 해당하는 수평 이동 거리(픽셀 단위)를 반환합니다. len 가 음수(기본값)인 경우, 문자열 전체가 사용됩니다. len 가 훨씬 짧더라도 text 의 전체 길이가 분석됩니다.
이는 text 뒤에 다음 문자를 그리는 데 적합한 거리입니다.
boundingRect()도 참조하십시오 .
int QFontMetrics::horizontalAdvance(QChar ch) const

ch 문자에서 수평 이동량(horizontal advance)을 픽셀 단위로 반환합니다. 이는 ch 호출 후 다음 문자를 그리는 데 적합한 거리입니다.
일부 측정값은 이미지에 설명되어 있습니다. 중앙의 어두운 직사각형은 각 문자의 논리적 horizontalAdvance()를 나타냅니다. 바깥쪽의 밝은 직사각형은 각 문자의 leftBearing()와 rightBearing()를 나타냅니다. 이 특정 글꼴에서 "f"의 베어링은 모두 음수인 반면, "o"의 베어링은 모두 양수라는 점에 유의하십시오.
경고: 이 함수는 문자열 처리 시 발생하는 글리프 형성 및 기호의 위치 조정을 고려할 수 없기 때문에, 문자열 중간에 아랍어 문자나 비공백 기호가 포함된 경우 잘못된 결과를 생성할 수 있습니다. 대화형 텍스트 컨트롤을 구현할 때는 대신 ` QTextLayout `를 사용하십시오.
이 함수는 오버로드된 함수입니다.
boundingRect()도 참조하십시오 .
bool QFontMetrics::inFont(QChar ch) const
문자 ch 가 해당 글꼴에서 유효한 문자일 경우 true 을 반환하고, 그렇지 않은 경우 false 을 반환합니다.
bool QFontMetrics::inFontUcs4(uint ucs4) const
UCS-4/UTF-32로 인코딩된 문자 ucs4 가 해당 글꼴에서 유효한 문자라면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
int QFontMetrics::leading() const
글꼴의 선두 간격을 반환합니다.
이는 자연스러운 줄 간격입니다.
height() 및 lineSpacing()도 참조하십시오 .
int QFontMetrics::leftBearing(QChar ch) const
글꼴 내의 문자 ‘ ch ’의 왼쪽 방위각을 반환합니다.
왼쪽 베어링은 문자의 가장 왼쪽 픽셀이 문자의 논리적 기점으로부터 오른쪽으로 떨어진 거리입니다. 문자의 픽셀이 논리적 기점의 왼쪽으로 확장되는 경우 이 값은 음수가 됩니다.
이 측정값에 대한 그래픽 설명은 horizontalAdvance()을 참조하십시오.
rightBearing(), minLeftBearing(), horizontalAdvance()도 참조하십시오 .
int QFontMetrics::lineSpacing() const
한 기준선에서 다음 기준선까지의 거리를 반환합니다.
이 값은 항상 leading() +height()과 같습니다.
height() 및 leading()도 참조하십시오 .
int QFontMetrics::lineWidth() const
글꼴의 포인트 크기에 맞춰 조정된 밑줄 및 취소선의 너비를 반환합니다.
underlinePos(), overlinePos() 및 strikeOutPos()도 참조하십시오 .
int QFontMetrics::maxWidth() const
글꼴에서 가장 넓은 문자의 너비를 반환합니다.
int QFontMetrics::minLeftBearing() const
글꼴의 최소 왼쪽 방위각을 반환합니다.
이는 글꼴에 포함된 모든 문자 중 가장 작은 좌측 베어링( leftBearing, char) 값입니다.
글꼴의 크기가 클 경우 이 함수의 실행 속도가 매우 느려질 수 있습니다.
minRightBearing() 및 leftBearing()도 참조하십시오 .
int QFontMetrics::minRightBearing() const
글꼴의 최소 우측 베어링을 반환합니다.
이는 글꼴에 포함된 모든 문자 중 가장 작은 rightBearing(char) 값입니다.
글꼴의 크기가 클 경우 이 함수의 실행 속도가 매우 느려질 수 있습니다.
minLeftBearing() 및 rightBearing()도 참조하십시오 .
int QFontMetrics::overlinePos() const
기준선에서 위줄이 그려져야 할 위치까지의 거리를 반환합니다.
underlinePos(), strikeOutPos() 및 lineWidth()도 참조하십시오 .
int QFontMetrics::rightBearing(QChar ch) const
글꼴에서 문자 ‘ ch ’의 오른쪽 베어링을 반환합니다.
오른쪽 베어링은 해당 문자의 가장 오른쪽 픽셀이 다음 문자의 논리적 원점으로부터 왼쪽으로 얼마나 떨어져 있는지를 나타냅니다. 이 값은 문자의 픽셀이 horizontalAdvance()의 오른쪽까지 뻗어 있는 경우 음수가 됩니다.
이 측정값에 대한 그래픽 설명은 horizontalAdvance()을 참조하십시오.
leftBearing(), minRightBearing() 및 horizontalAdvance()도 참조하십시오 .
QSize QFontMetrics::size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
text 의 크기를 픽셀 단위로 반환합니다.
flags 인자는 다음 플래그들의 비트별 OR 연산 결과입니다:
- Qt::TextSingleLine 줄바꿈 문자를 무시합니다.
- Qt::TextExpandTabs 탭을 확장합니다(아래 참조).
- Qt::TextShowMnemonic "&x"를 x로 해석합니다. 즉, 밑줄이 그어진 것으로 처리합니다.
- Qt::TextWordWrap 텍스트를 직사각형 크기에 맞게 분할합니다.
flags 에서 Qt::TextExpandTabs 가 설정된 경우: tabArray 가 null이 아니면, 탭에 대한 0으로 끝나는 픽셀 위치 시퀀스를 지정합니다. 그렇지 않은 경우 tabStops 가 0이 아니면, 이를 탭 간격(픽셀 단위)으로 사용합니다.
줄바꿈 문자는 줄바꿈으로 처리됩니다.
실제 문자 높이는 다르지만, "Yes"와 "yes"의 경계 사각형의 높이는 동일합니다.
boundingRect()도 참조하십시오 .
int QFontMetrics::strikeOutPos() const
기준선에서 삼진선이 그려져야 할 위치까지의 거리를 반환합니다.
underlinePos(), overlinePos(), lineWidth()도 참조하십시오 .
[noexcept] void QFontMetrics::swap(QFontMetrics &other)
이 글꼴 메트릭스 인스턴스를 ` other`로 교체합니다. 이 작업은 매우 빠르게 수행되며 실패하는 일이 없습니다.
QRect QFontMetrics::tightBoundingRect(const QString &text) const
text 로 지정된 문자열 내의 문자들을 둘러싼 가장 작은 경계 사각형을 반환합니다. 이 경계 사각형은 항상 텍스트가 (0, 0) 위치에 그려졌을 때 차지할 픽셀 영역을 최소한 포함합니다.
경계 사각형은 (0, 0)의 왼쪽으로 확장될 수 있으며(예: 이탤릭체 글꼴의 경우), 반환된 사각형의 너비가 horizontalAdvance() 메서드가 반환하는 값과 다를 수 있다는 점에 유의하십시오.
문자열의 진척 폭을 알고 싶다면(일련의 문자열을 나란히 배치하기 위해), 대신 horizontalAdvance()을 사용하십시오.
줄바꿈 문자는 줄바꿈이 아닌 일반 문자로 처리됩니다.
horizontalAdvance(), height() 및 boundingRect()도 참조하십시오 .
[since 6.3] QRect QFontMetrics::tightBoundingRect(const QString &text, const QTextOption &option) const
text 로 지정된 문자열 내의 문자들을 option 를 사용하여 배열한 후, 이를 둘러싼 가장 작은 경계 사각형을 반환합니다. 이 경계 사각형은 항상 텍스트가 (0, 0) 위치에 그려졌을 때 차지할 픽셀 집합을 최소한 포함합니다.
경계 사각형은 (0, 0)의 왼쪽으로 확장될 수 있으며(예: 이탤릭체 글꼴의 경우), 반환된 사각형의 너비는 horizontalAdvance() 메서드가 반환하는 값과 다를 수 있습니다.
문자열의 진척 폭을 알고 싶다면(여러 문자열을 나란히 배치하기 위해), 대신 horizontalAdvance()을 사용하십시오.
줄바꿈 문자는 줄바꿈이 아닌 일반 문자로 처리됩니다.
이 함수는 Qt 6.3에서 도입되었습니다.
horizontalAdvance(), height() 및 boundingRect()도 참조하십시오 .
int QFontMetrics::underlinePos() const
베이스라인에서 밑줄이 그려져야 할 위치까지의 거리를 반환합니다.
overlinePos(), strikeOutPos(), lineWidth()도 참조하십시오 .
int QFontMetrics::xHeight() const
글꼴의 'x' 높이를 반환합니다. 이 값은 대개 문자 'x'의 높이와 같지만, 항상 그런 것은 아닙니다.
bool QFontMetrics::operator!=(const QFontMetrics &other) const
other 가 이 객체와 같지 않은 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
두 글꼴 메트릭은 동일한 QFont 를 기반으로 생성되었고, 해당 메트릭이 생성된 페인트 장치들이 호환되는 것으로 간주될 때 서로 동일한 것으로 간주됩니다.
operator==()도 참조하십시오 .
[noexcept] QFontMetrics &QFontMetrics::operator=(QFontMetrics &&other)
other 를 이 QFontMetrics 인스턴스에 할당합니다.
QFontMetrics &QFontMetrics::operator=(const QFontMetrics &fm)
fm 의 글꼴 메트릭을 할당합니다.
bool QFontMetrics::operator==(const QFontMetrics &other) const
other 가 이 객체와 같으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
두 글꼴 메트릭은 동일한 QFont 로부터 생성되었고, 해당 메트릭이 생성된 페인트 장치들이 호환되는 것으로 간주될 때 서로 동일한 것으로 간주됩니다.
operator!=()도 참조하십시오 .
© 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.