QTextBrowser Class

QTextBrowser 클래스는 하이퍼텍스트 탐색 기능을 갖춘 서식 있는 텍스트 브라우저를 제공합니다. 더 보기...

Header: #include <QTextBrowser>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
상속합니다: QTextEdit

속성

공용 함수

QTextBrowser(QWidget *parent = nullptr)
int backwardHistoryCount() const
void clearHistory()
int forwardHistoryCount() const
QString historyTitle(int i) const
QUrl historyUrl(int i) const
bool isBackwardAvailable() const
bool isForwardAvailable() const
bool openExternalLinks() const
bool openLinks() const
QStringList searchPaths() const
void setOpenExternalLinks(bool open)
void setOpenLinks(bool open)
void setSearchPaths(const QStringList &paths)
QUrl source() const
QTextDocument::ResourceType sourceType() const

재구현된 공용 함수

virtual QVariant loadResource(int type, const QUrl &name) override

공용 슬롯

virtual void backward()
virtual void forward()
virtual void home()
virtual void reload()
void setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

신호

void anchorClicked(const QUrl &link)
void backwardAvailable(bool available)
void forwardAvailable(bool available)
void highlighted(const QUrl &link)
void historyChanged()
void sourceChanged(const QUrl &src)

보호된 함수

virtual void doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

재구현된 보호 함수

virtual bool event(QEvent *e) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *ev) override
virtual void keyPressEvent(QKeyEvent *ev) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *e) override

상세 설명

이 클래스는 QTextEdit (읽기 전용 모드에서)를 확장하여 사용자가 하이퍼텍스트 문서의 링크를 따라갈 수 있도록 일부 탐색 기능을 추가합니다.

사용자에게 편집 가능한 서식 있는 텍스트 편집기를 제공하려면 QTextEdit 을 사용하세요. 하이퍼텍스트 탐색 기능이 없는 텍스트 브라우저를 사용하려면 QTextEdit 을 사용하고 QTextEdit::setReadOnly()을 사용하여 편집을 비활성화합니다. 작은 서식 있는 텍스트만 표시해야 하는 경우에는 QLabel 을 사용합니다.

문서 소스 및 콘텐츠

QTextEdit 의 내용은 setHtml() 또는 setPlainText()로 설정되지만, QTextBrowser는 setSource() 함수도 구현하여 명명된 문서를 소스 텍스트로 사용할 수 있습니다. 이름은 검색 경로 목록과 현재 문서 팩토리의 디렉토리에서 조회됩니다.

문서 이름이 앵커(예: "#anchor")로 끝나는 경우 텍스트 브라우저는 자동으로 해당 위치로 스크롤됩니다( scrollToAnchor() 사용). 사용자가 하이퍼링크를 클릭하면 브라우저는 링크의 href 값을 인수로 사용하여 setSource() 자체를 호출합니다. sourceChanged () 신호에 연결하여 현재 소스를 추적할 수 있습니다.

QTextBrowser는 뒤로 가기 및 앞으로 가기 버튼을 구현하는 데 사용할 수 있는 backward() 및 forward() 슬롯을 제공합니다. home () 슬롯은 표시되는 첫 번째 문서에 텍스트를 설정합니다. anchorClicked () 신호는 사용자가 앵커를 클릭할 때 발생합니다. 브라우저의 기본 탐색 동작을 재정의하려면 setSource() 함수를 호출하여 이 신호에 연결된 슬롯에 새 문서 텍스트를 제공하세요.

Qt 리소스 시스템에 저장된 문서를 로드하려면 로드할 URL의 스키마로 qrc 을 사용합니다. 예를 들어, 문서 리소스 경로 :/docs/index.html 의 경우 qrc:/docs/index.htmlsetSource()와 함께 URL로 사용합니다.

QTextEditQTextDocument참조하세요 .

속성 문서

[read-only] modified : const bool

이 속성은 텍스트 브라우저의 콘텐츠가 수정되었는지 여부를 보유합니다.

anchorClicked 신호를 보내는 대신 QDesktopServices::openUrl()를 사용하여 QTextBrowser 외부 소스에 대한 링크를 자동으로 열지 여부를 지정합니다. 링크의 체계가 파일이나 qrc가 아닌 경우 링크는 외부로 간주됩니다.

기본값은 false입니다.

액세스 기능:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

이 속성은 사용자가 마우스 또는 키보드로 활성화하려는 링크를 QTextBrowser 에서 자동으로 열지 여부를 지정합니다.

이 속성의 값에 관계없이 anchorClicked 신호는 항상 전송됩니다.

기본값은 true입니다.

액세스 기능:

bool openLinks() const
void setOpenLinks(bool open)

readOnly : const bool

이 속성은 텍스트 브라우저가 읽기 전용인지 여부를 보유합니다.

기본적으로 이 속성은 true 입니다.

searchPaths : QStringList

이 속성에는 텍스트 브라우저에서 지원 콘텐츠를 찾기 위해 사용하는 검색 경로가 저장됩니다.

QTextBrowser 는 이 목록을 사용하여 이미지와 문서를 찾습니다.

기본적으로 이 속성에는 빈 문자열 목록이 포함됩니다.

액세스 함수:

QStringList searchPaths() const
void setSearchPaths(const QStringList &paths)

source : QUrl

이 속성에는 표시된 문서의 이름이 저장됩니다.

문서가 표시되지 않거나 소스를 알 수 없는 경우 잘못된 URL입니다.

이 속성을 설정하면 QTextBrowser 값이 절대 파일 경로가 아닌 경우 searchPaths 속성 경로와 현재 소스의 디렉토리에서 지정된 이름의 문서를 찾으려고 시도합니다. 또한 선택적 앵커를 확인하고 그에 따라 문서를 스크롤합니다.

문서의 첫 번째 태그가 <qt type=detail> 인 경우 문서는 브라우저 창 자체에서 새 문서가 아닌 팝업으로 표시됩니다. 그렇지 않으면 파일 이름이 알려진 마크다운 파일 확장자로 끝나는지 여부에 따라 QTextDocument::setHtml() 또는 QTextDocument::setMarkdown()로 명명된 문서의 내용으로 설정된 텍스트가 텍스트 브라우저에 정상적으로 표시됩니다.

자동 유형 감지를 피하고 유형을 명시적으로 지정하려면 이 속성을 설정하는 대신 setSource()를 호출하세요.

기본적으로 이 속성에는 빈 URL이 포함됩니다.

함수 액세스:

QUrl source() const
void setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

[read-only] sourceType : const QTextDocument::ResourceType

이 속성은 표시된 문서의 유형을 보유합니다.

문서가 표시되지 않거나 소스 유형을 알 수 없는 경우 QTextDocument::UnknownResource 입니다. 그렇지 않으면 감지된 유형 또는 setSource()가 호출될 때 지정된 유형을 보유합니다.

액세스 함수:

QTextDocument::ResourceType sourceType() const

undoRedoEnabled : const bool

이 속성은 텍스트 브라우저에서 실행 취소/다시 실행 작업을 지원하는지 여부를 저장합니다.

기본적으로 이 프로퍼티는 false 입니다.

멤버 함수 문서

[explicit] QTextBrowser::QTextBrowser(QWidget *parent = nullptr)

부모가 parent 인 빈 QTextBrowser 를 생성합니다.

[signal] void QTextBrowser::anchorClicked(const QUrl &link)

이 신호는 사용자가 앵커를 클릭할 때 발생합니다. 앵커가 참조하는 URL은 link 으로 전달됩니다.

openLinks 속성이 false로 설정되어 있거나 연결된 슬롯에서 setSource()를 호출하지 않는 한 브라우저는 link 에 지정된 위치로 자동 탐색을 처리합니다. 이 메커니즘은 브라우저의 기본 탐색 기능을 재정의하는 데 사용됩니다.

[virtual slot] void QTextBrowser::backward()

링크를 탐색하여 만든 문서 목록에서 표시되는 문서를 이전 문서로 변경합니다. 이전 문서가 없으면 아무 작업도 수행하지 않습니다.

forward() 및 backwardAvailable()도 참조하세요 .

[signal] void QTextBrowser::backwardAvailable(bool available)

이 신호는 backward()의 가용성이 변경될 때 발생합니다. available 사용자가 home()에 있으면 거짓이고, 그렇지 않으면 참입니다.

int QTextBrowser::backwardHistoryCount() const

기록에서 거꾸로 거슬러 올라간 위치 수를 반환합니다.

void QTextBrowser::clearHistory()

방문한 문서의 기록을 지우고 앞으로/뒤로 탐색을 비활성화합니다.

backward() 및 forward()도 참조하세요 .

[virtual protected] void QTextBrowser::doSetSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

지정된 url 에서 지정된 type 으로 문서를 로드하려고 시도합니다.

setSource()는 doSetSource를 호출합니다. Qt 5에서 setSource(const QUrl &url)는 가상이었습니다. Qt 6에서는 doSetSource() 대신 가상이므로 서브 클래스에서 재정의할 수 있습니다.

[override virtual protected] bool QTextBrowser::event(QEvent *e)

다시 구현합니다: QAbstractScrollArea::event(QEvent * 이벤트).

[override virtual protected] bool QTextBrowser::focusNextPrevChild(bool next)

다시 구현합니다: QTextEdit::focusNextPrevChild(다음 부울).

[override virtual protected] void QTextBrowser::focusOutEvent(QFocusEvent *ev)

다시 구현합니다: QTextEdit::focusOutEvent(QFocusEvent *e).

[virtual slot] void QTextBrowser::forward()

링크를 탐색하여 만든 문서 목록에서 표시되는 문서를 다음 문서로 변경합니다. 다음 문서가 없으면 아무 작업도 수행하지 않습니다.

backward() 및 forwardAvailable()도 참조하세요 .

[signal] void QTextBrowser::forwardAvailable(bool available)

이 신호는 forward()의 가용성이 변경될 때 발생합니다. available 사용자가 backward()로 이동하면 참이고, forward()로 이동하거나 탐색하면 거짓입니다.

int QTextBrowser::forwardHistoryCount() const

기록에서 앞으로 이동한 위치의 수를 반환합니다.

[signal] void QTextBrowser::highlighted(const QUrl &link)

이 신호는 사용자가 문서에서 앵커를 선택했지만 활성화하지 않은 경우에 발생합니다. 앵커가 참조하는 URL은 link 으로 전달됩니다.

[signal] void QTextBrowser::historyChanged()

이 신호는 기록이 변경될 때 발생합니다.

historyTitle() 및 historyUrl()도 참조하세요 .

QString QTextBrowser::historyTitle(int i) const

히스토리 항목의 documentTitle()를 반환합니다.

입력반환
i < 0backward() 히스토리
i == 0현재, QTextBrowser::source()
i > 0forward() 히스토리
backaction.setToolTip(browser.historyTitle(-1));
forwardaction.setToolTip(browser.historyTitle(+1));

QUrl QTextBrowser::historyUrl(int i) const

히스토리 항목의 URL을 반환합니다.

입력반환
i < 0backward() 히스토리
i == 0현재, QTextBrowser::source()
i > 0forward() 히스토리

[virtual slot] void QTextBrowser::home()

표시되는 문서가 기록에서 첫 번째 문서가 되도록 변경합니다.

bool QTextBrowser::isBackwardAvailable() const

텍스트 브라우저에서 backward()을 사용하여 문서 기록을 거슬러 올라갈 수 있는 경우 true 을 반환합니다.

backwardAvailable() 및 backward()도 참조하세요 .

bool QTextBrowser::isForwardAvailable() const

텍스트 브라우저가 forward()을 사용하여 문서 기록에서 앞으로 나아갈 수 있는 경우 true 을 반환합니다.

forwardAvailable() 및 forward()도 참조하세요 .

[override virtual protected] void QTextBrowser::keyPressEvent(QKeyEvent *ev)

다시 구현합니다: QTextEdit::keyPressEvent(QKeyEvent *e).

ev 이벤트는 다음과 같은 키보드 단축키를 제공하는 데 사용됩니다:

KeypressAction
Alt+왼쪽 화살표backward()
Alt+오른쪽 화살표forward()
Alt+위쪽 화살표home()

[override virtual] QVariant QTextBrowser::loadResource(int type, const QUrl &name)

재구현합니다: QTextEdit::loadResource(int type, const QUrl &name).

이 함수는 문서가 로드될 때와 문서의 각 이미지에 대해 호출됩니다. type 은 로드할 리소스 유형을 나타냅니다. 리소스를 로드할 수 없으면 유효하지 않은 QVariant 이 반환됩니다.

기본 구현은 type 을 무시하고 name 을 파일 이름으로 해석하여 리소스를 찾으려고 시도합니다. 절대 경로가 아닌 경우 searchPaths 속성의 경로와 현재 소스와 같은 디렉터리에서 파일을 찾으려고 시도합니다. 성공하면 파일 내용이 포함된 QByteArray 을 저장하는 QVariant 이 생성됩니다.

이 함수를 다시 구현하면 다른 QVariant 유형을 반환할 수 있습니다. 아래 표는 리소스 유형에 따라 지원되는 변형 유형을 보여줍니다:

[override virtual protected] void QTextBrowser::mouseMoveEvent(QMouseEvent *e)

다시 구현합니다: QTextEdit::mouseMoveEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::mousePressEvent(QMouseEvent *e)

다시 구현합니다: QTextEdit::mousePressEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::mouseReleaseEvent(QMouseEvent *e)

다시 구현합니다: QTextEdit::mouseReleaseEvent(QMouseEvent *e).

[override virtual protected] void QTextBrowser::paintEvent(QPaintEvent *e)

다시 구현합니다: QTextEdit::paintEvent(QPaintEvent * 이벤트).

[virtual slot] void QTextBrowser::reload()

현재 설정된 소스를 다시 로드합니다.

[slot] void QTextBrowser::setSource(const QUrl &url, QTextDocument::ResourceType type = QTextDocument::UnknownResource)

지정된 url 에서 지정된 type 으로 문서를 로드하려고 시도합니다.

typeUnknownResource (기본값)인 경우 문서 유형이 감지됩니다. 즉, URL이 .md, .mkd 또는 .markdown 의 확장자로 끝나면 QTextDocument::setMarkdown()를 통해 문서가 로드되고 그렇지 않으면 QTextDocument::setHtml()를 통해 로드됩니다. type 을 명시적으로 지정하면 이 감지를 우회할 수 있습니다.

참고: source 속성에 대한 설정자 함수.

source()도 참조하세요 .

[signal] void QTextBrowser::sourceChanged(const QUrl &src)

이 신호는 소스가 변경되었을 때 발생하며 src 이 새로운 소스입니다.

소스 변경은 setSource(), forward(), backward() 또는 home()을 호출하거나 사용자가 링크를 클릭하거나 이에 상응하는 키 시퀀스를 누를 때 프로그래밍 방식으로 발생합니다.

© 2025 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.