このページでは

QTextEdit Class

QTextEdit クラスは、プレーンテキストとリッチテキストの両方を編集・表示するために使用されるウィジェットを提供します。詳細...

ヘッダー: #include <QTextEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QAbstractScrollArea
継承元:

QTextBrowser

パブリック型

struct ExtraSelection
flags AutoFormatting
enum AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll }
enum LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }

プロパティ

パブリック関数

QTextEdit(QWidget *parent = nullptr)
QTextEdit(const QString &text, QWidget *parent = nullptr)
virtual ~QTextEdit()
bool acceptRichText() const
Qt::Alignment alignment() const
QString anchorAt(const QPoint &pos) const
QTextEdit::AutoFormatting autoFormatting() const
bool canPaste() const
QMenu *createStandardContextMenu()
QMenu *createStandardContextMenu(const QPoint &position)
QTextCharFormat currentCharFormat() const
QFont currentFont() const
QTextCursor cursorForPosition(const QPoint &pos) const
QRect cursorRect() const
QRect cursorRect(const QTextCursor &cursor) const
int cursorWidth() const
QTextDocument *document() const
QString documentTitle() const
void ensureCursorVisible()
QList<QTextEdit::ExtraSelection> extraSelections() const
bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
QString fontFamily() const
bool fontItalic() const
qreal fontPointSize() const
bool fontUnderline() const
int fontWeight() const
bool isReadOnly() const
bool isUndoRedoEnabled() const
int lineWrapColumnOrWidth() const
QTextEdit::LineWrapMode lineWrapMode() const
virtual QVariant loadResource(int type, const QUrl &name)
void mergeCurrentCharFormat(const QTextCharFormat &modifier)
void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
bool overwriteMode() const
QString placeholderText() const
void print(QPagedPaintDevice *printer) const
void setAcceptRichText(bool accept)
void setAutoFormatting(QTextEdit::AutoFormatting features)
void setCurrentCharFormat(const QTextCharFormat &format)
void setCursorWidth(int width)
void setDocument(QTextDocument *document)
void setDocumentTitle(const QString &title)
void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
void setLineWrapColumnOrWidth(int w)
void setLineWrapMode(QTextEdit::LineWrapMode mode)
void setOverwriteMode(bool overwrite)
void setPlaceholderText(const QString &placeholderText)
void setReadOnly(bool ro)
void setTabChangesFocus(bool b)
void setTabStopDistance(qreal distance)
void setTextCursor(const QTextCursor &cursor)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setUndoRedoEnabled(bool enable)
void setWordWrapMode(QTextOption::WrapMode policy)
bool tabChangesFocus() const
qreal tabStopDistance() const
QColor textBackgroundColor() const
QColor textColor() const
QTextCursor textCursor() const
Qt::TextInteractionFlags textInteractionFlags() const
QString toHtml() const
QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
QString toPlainText() const
QTextOption::WrapMode wordWrapMode() const

再実装されたパブリック関数

virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const override

パブリックスロット

void append(const QString &text)
void clear()
void copy()
void cut()
void insertHtml(const QString &text)
void insertPlainText(const QString &text)
void paste()
void redo()
void scrollToAnchor(const QString &name)
void selectAll()
void setAlignment(Qt::Alignment a)
void setCurrentFont(const QFont &f)
void setFontFamily(const QString &fontFamily)
void setFontItalic(bool italic)
void setFontPointSize(qreal s)
void setFontUnderline(bool underline)
void setFontWeight(int weight)
void setHtml(const QString &text)
void setMarkdown(const QString &markdown)
void setPlainText(const QString &text)
void setText(const QString &text)
void setTextBackgroundColor(const QColor &c)
void setTextColor(const QColor &c)
void undo()
void zoomIn(int range = 1)
void zoomOut(int range = 1)

シグナル

void copyAvailable(bool yes)
void currentCharFormatChanged(const QTextCharFormat &f)
void cursorPositionChanged()
void redoAvailable(bool available)
void selectionChanged()
void textChanged()
void undoAvailable(bool available)

protected関数

virtual bool canInsertFromMimeData(const QMimeData *source) const
virtual QMimeData *createMimeDataFromSelection() const
virtual void insertFromMimeData(const QMimeData *source)

再実装された保護関数

virtual void changeEvent(QEvent *e) override
virtual void contextMenuEvent(QContextMenuEvent *event) override
virtual void dragEnterEvent(QDragEnterEvent *e) override
virtual void dragLeaveEvent(QDragLeaveEvent *e) override
virtual void dragMoveEvent(QDragMoveEvent *e) override
virtual void dropEvent(QDropEvent *e) override
virtual void focusInEvent(QFocusEvent *e) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *e) override
virtual void inputMethodEvent(QInputMethodEvent *e) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mouseDoubleClickEvent(QMouseEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void scrollContentsBy(int dx, int dy) override
virtual void showEvent(QShowEvent *) override
virtual void wheelEvent(QWheelEvent *e) override

詳細な説明

はじめにおよび概念

QTextEdit は、HTML スタイルのタグや Markdown 形式を用いたリッチテキストの書式設定をサポートする、高度な WYSIWYG ビューア/エディタです。大規模なドキュメントの処理や、ユーザー入力への迅速な応答に最適化されています。

QTextEdit は、段落と文字を単位として処理します。段落とは、ウィジェットの幅に合わせて改行が挿入された、書式設定済みの文字列のことです。デフォルトでは、プレーンテキストを読み込む際、1 つの改行が 1 つの段落を表します。 文書は、0個以上の段落で構成されます。段落内の単語は、その段落の配置設定に従って整列されます。段落はハード改行によって区切られます。段落内の各文字には、フォントや色など、独自の属性が設定されています。

QTextEditは、画像、リスト、表を表示できます。テキストがテキストエディタの表示領域に収まらないほど長い場合、スクロールバーが表示されます。このテキストエディタは、プレーンテキストファイルとリッチテキストファイルの両方を読み込むことができます。リッチテキストは、HTML 4マークアップのサブセットを使用して記述できます。詳細については、「サポートされているHTMLサブセット」のページを参照してください。

リッチテキストのほんの一部を表示するだけであれば、QLabel を使用してください。

Qtのリッチテキストサポートは、アプリケーションに実用的なオンラインヘルプ機能を追加するための、高速で移植性が高く効率的な手段を提供するとともに、リッチテキストエディタの基盤となるよう設計されています。HTMLサポートがニーズに不十分である場合は、フル機能のWebブラウザウィジェットを提供するQt WebKitの使用を検討してください。

QTextEdit 上のマウスカーソルの形状は、デフォルトでQt::IBeamCursor です。これは、viewport() の cursor プロパティを通じて変更できます。

QTextEdit を表示ウィジェットとして使用する場合

QTextEdit は、表や画像を含む、HTML の大部分のサブセットを表示できます。

テキストの設定や置換にはsetHtml()を使用します。これにより、既存のテキストが削除され、setHtml()の呼び出しで渡されたテキストに置き換えられます。setHtml()をレガシーHTMLで呼び出した後、toHtml()を呼び出すと、返されるテキストのマークアップは異なる場合がありますが、表示結果は同じになります。clear()を使用すると、テキスト全体を削除できます。

また、setMarkdown() を使用してテキストを設定または置換することも可能ですが、ここでも同様の注意点があります。その後、toMarkdown() を呼び出した場合、返されるテキストは異なる場合がありますが、意味は可能な限り保持されます。 HTMLが埋め込まれたMarkdownも、setHtml()と同じ制限の下で解析できます。ただし、toMarkdown()は、HTMLを一切含まない「純粋な」Markdownのみを出力します。

テキスト自体は、QTextCursor クラス、または便利関数であるinsertHtml()、insertPlainText()、append() あるいはpaste() を使用して挿入できます。QTextCursor は、表やリストなどの複雑なオブジェクトをドキュメントに挿入することもでき、選択範囲の作成や、選択したテキストへの変更の適用も処理します。

デフォルトでは、テキストエディットは、テキストエディットウィジェット内に収まるよう、空白で単語を折り返します。希望する改行の種別を指定するには、setLineWrapMode() 関数を使用します。改行を一切行わない場合は、NoWrap を使用します。setLineWrapMode() を呼び出すと、setLineWrapColumnOrWidth() で指定されたピクセル数または列数に基づいて、固定のピクセル幅FixedPixelWidth または文字列数(例:80列)FixedColumnWidth を設定できます。ウィジェットの幅に合わせて単語の折り返しを行うWidgetWidth 場合、setWordWrapMode() を使用して、空白の位置で改行するか、任意の位置で改行するかを指定できます。

find() 関数を使用すると、テキスト内から指定された文字列を検索して選択することができます。

たとえばログビューアなどでよく利用されるように、QTextEdit 内の段落の総数を制限したい場合は、QTextDocument の maximumBlockCount プロパティを使用できます。

読み取り専用時のキーバインド

QTextEdit を読み取り専用で使用する場合、キーバインドはナビゲーションに限定され、テキストの選択はマウスでのみ行えます:

キー入力キー入力
上1行上に移動します。
下1行下に移動します。
左1文字分左に移動します。
右1文字右に移動します。
PageUp(ビューポートの)ページを1ページ上に移動します。
PageDown(ビューポートの)ページを1ページ下へ移動します。
Homeテキストの先頭に移動します。
Endテキストの末尾に移動します。
Alt+ホイールページを水平方向にスクロールします(「ホイール」とはマウスのホイールのことです)。
Ctrl+ホイールテキストを拡大・縮小します。
Ctrl+Aすべてのテキストを選択します。

テキストエディタによっては、一部のメタ情報を提供できる場合があります。たとえば、documentTitle() 関数は、HTML の<title> タグ内のテキストを返します。

注: HTML ドキュメントの拡大表示は 、フォントサイズが固定サイズに設定されていない場合にのみ機能します。

QTextEdit をエディタとして使用する場合

QTextEdit を表示ウィジェットとして使用する場合のすべての情報は、ここにも適用されます。

現在の文字フォーマットの属性は、setFontItalic()、setFontWeight()、setFontUnderline()、setFontFamily()、setFontPointSize()、setTextColor()、およびsetCurrentFont() で設定します。現在の段落の配置は、setAlignment() で設定します。

テキストの選択処理は、QTextCursor クラスによって行われます。このクラスは、選択範囲の作成、テキスト内容の取得、または選択範囲の削除を行う機能を提供します。textCursor()メソッドを使用すると、ユーザーに表示されるカーソルに対応するオブジェクトを取得できます。 QTextEditで選択範囲を設定したい場合は、QTextCursor オブジェクト上で選択範囲を作成し、setTextCursor() を使用してそのカーソルを表示カーソルに設定します。選択範囲は、copy() でクリップボードにコピーしたり、cut() でクリップボードに切り取ったりできます。テキスト全体を選択するには、selectAll() を使用します。

カーソルが移動し、その位置の書式属性が変更されると、新しいカーソル位置の新しい属性を反映するために、currentCharFormatChanged() シグナルが発行されます。

textChanged() シグナルは、テキストが変更されるたびに(setText() の結果として、あるいはエディタ自体によって)発火します。

QTextEdit はQTextDocument オブジェクトを保持しており、これはdocument() メソッドを使用して取得できます。また、setDocument() を使用して独自のドキュメントオブジェクトを設定することもできます。

QTextDocument isModified() 関数を用意しており、テキストが読み込まれてから、あるいは setModified が false を引数として最後に呼び出されてから変更が加えられている場合、true を返します。さらに、元に戻す(undo)およびやり直し(redo)のためのメソッドも提供しています。

ドラッグ&ドロップ

QTextEditは、カスタムドラッグ&ドロップ動作もサポートしています。デフォルトでは、ユーザーがこれらのMIMEタイプのデータをドキュメント上にドロップすると、QTextEditはプレーンテキスト、HTML、リッチテキストを挿入します。追加のMIMEタイプのサポートを追加するには、canInsertFromMimeData()およびinsertFromMimeData()を再実装してください。

たとえば、ユーザーが画像を QTextEdit にドラッグ&ドロップできるようにするには、以下の方法でこれらの関数を実装します。

bool TextEdit::canInsertFromMimeData( const QMimeData *source ) const
{
    if (source->hasImage())
        return true;
    else
        return QTextEdit::canInsertFromMimeData(source);
}

true を返すことで、画像の MIME タイプへの対応を追加します。それ以外のすべての MIME タイプについては、デフォルトの実装を使用します。

void TextEdit::insertFromMimeData( const QMimeData *source )
{
    if (source->hasImage())
    {
        QImage image = qvariant_cast<QImage>(source->imageData());
        QTextCursor cursor = this->textCursor();
        QTextDocument *document = this->document();
        document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
        cursor.insertImage("image");
    }
}

MIMEソースが保持するQVariant から画像を抽出(アンパック)し、リソースとしてドキュメントに挿入します。

編集用キーバインディング

編集用に実装されているキーバインディングの一覧:

キー入力アクション
Backspaceカーソルの左にある文字を削除します。
Deleteカーソルの右側にある文字を削除します。
Ctrl+C選択したテキストをクリップボードにコピーします。
Ctrl+Insert選択したテキストをクリップボードにコピーします。
Ctrl+K行の末尾まで削除します。
Ctrl+Vクリップボードのテキストをテキスト編集画面に貼り付けます。
Shift+Insertクリップボードのテキストをテキスト編集に貼り付けます。
Ctrl+X選択したテキストを削除し、クリップボードにコピーします。
Shift+Delete選択したテキストを削除し、クリップボードにコピーします。
Ctrl+Z直前の操作を取り消します。
Ctrl+Y直前の操作をやり直します。
左カーソルを1文字左に移動します。
Ctrl+左矢印カーソルを1語分左に移動します。
右カーソルを1文字右に移動します。
Ctrl+右カーソルを1語分右に移動します。
上カーソルを1行上に移動します。
下カーソルを一行下に移動します。
PageUpカーソルを1ページ分上に移動します。
PageDownカーソルを1ページ分下に移動します。
Homeカーソルを行の先頭に移動します。
Ctrl+Homeカーソルをテキストの先頭に移動します。
Endカーソルを行の末尾に移動します。
Ctrl+Endカーソルをテキストの末尾に移動します。
Alt+ホイールページを水平方向にスクロールします(「ホイール」とはマウスのホイールのことです)。

テキストを選択(マーク)するには、Shift キーを押したまま移動キーのいずれかを押します。たとえば、Shift+右矢印キーを押すと右側の文字が選択され、Shift+Ctrl+右矢印キーを押すと右側の単語が選択されます。

「 QTextDocument」 、「QTextCursor 」、「構文ハイライトの例」、および「リッチテキスト処理」も参照してください 。

メンバ型のドキュメント

enum QTextEdit::AutoFormattingFlag
flags QTextEdit::AutoFormatting

定数値説明
QTextEdit::AutoNone0自動書式設定を行わない。
QTextEdit::AutoBulletList0x00000001箇条書きリストを自動的に作成する(例:ユーザーが左端の列にアスタリスク('*')を入力した場合、または既存のリスト項目でEnterキーを押した場合など)。
QTextEdit::AutoAll0xffffffffすべての自動書式設定を適用します。現在、自動箇条書きリストのみがサポートされています。

AutoFormatting 型は、QFlags<AutoFormattingFlag> の typedef です。これは、AutoFormattingFlag 値の OR 組み合わせを格納します。

enum QTextEdit::LineWrapMode

定数定数
QTextEdit::NoWrap0
QTextEdit::WidgetWidth1
QTextEdit::FixedPixelWidth2
QTextEdit::FixedColumnWidth3

プロパティのドキュメント

acceptRichText : bool

このプロパティは、テキスト編集フィールドがユーザーによるリッチテキストの挿入を受け付けるかどうかを指定します。

このプロパティが false に設定されている場合、テキスト編集フィールドはユーザーからのプレーンテキスト入力のみを受け付けます。たとえば、クリップボードやドラッグ&ドロップによる入力などです。

このプロパティのデフォルト値は true です。

アクセス関数:

bool acceptRichText() const
void setAcceptRichText(bool accept)

autoFormatting : AutoFormatting

このプロパティは、有効になっている自動書式設定機能のセットを保持します

値は、AutoFormattingFlag 列挙型の値の任意の組み合わせにできます。デフォルトはAutoNone です。すべての自動書式設定を有効にするには、AutoAll を選択してください。

現在、提供されている自動書式設定機能はAutoBulletList のみですが、将来のQtバージョンではさらに機能が追加される可能性があります。

アクセス関数:

QTextEdit::AutoFormatting autoFormatting() const
void setAutoFormatting(QTextEdit::AutoFormatting features)

cursorWidth : int

このプロパティは、カーソルの幅をピクセル単位で指定します。デフォルト値は 1 です。

アクセス関数:

int cursorWidth() const
void setCursorWidth(int width)

document : QTextDocument*

このプロパティは、テキストエディタの基となるドキュメントを保持します。

注:エディタは 、そのドキュメントの親オブジェクトでない限り、そのドキュメントの所有権を取得しません。指定されたドキュメントの親オブジェクトが、引き続きそのオブジェクトの所有者となります。以前に割り当てられていたドキュメントがエディタの子である場合、そのドキュメントは削除されます。

アクセス関数:

QTextDocument *document() const
void setDocument(QTextDocument *document)

documentTitle : QString

このプロパティには、テキストから解析された文書のタイトルが格納されます。

デフォルトでは、新しく作成された空のドキュメントの場合、このプロパティには空の文字列が含まれます。

アクセス関数:

QString documentTitle() const
void setDocumentTitle(const QString &title)

html : QString

このプロパティは、テキストエディットのテキストに対するHTMLインターフェースを提供します。

toHtml() は、テキストエディットのテキストを HTML 形式で返します。

setHtml() は、テキストエディットのテキストを変更します。以前のテキストはすべて削除され、元に戻す/やり直すの履歴はクリアされます。入力テキストは、HTML 形式のリッチテキストとして解釈されます。また、textCursor() がすでにドキュメントの先頭にある場合を除き、currentCharFormat() もリセットされます。

注: HTML を含む `QString ` が作成され、`setHtml()` に渡される場合、テキストが正しくデコードされることを確認するのは呼び出し側の責任です 。

デフォルトでは、新しく作成された空のドキュメントの場合、このプロパティには、本文のない HTML 4.0 ドキュメントを表すテキストが含まれます。

アクセス関数:

QString toHtml() const
void setHtml(const QString &text)

通知シグナル:

void textChanged()

関連項目: サポートされている HTML サブセットおよびplainText 。

lineWrapColumnOrWidth : int

このプロパティは、テキストが折り返される位置(折り返しモードに応じてピクセルまたは列単位)を指定します

折り返しモードが `FixedPixelWidth` の場合、この値はテキストエディットの左端からテキストが折り返されるまでのピクセル数です。折り返しモードが `FixedColumnWidth` の場合、この値はテキストエディットの左端からテキストが折り返されるまでの列数(文字列単位)です。

デフォルトでは、このプロパティの値は 0 です。

アクセス関数:

int lineWrapColumnOrWidth() const
void setLineWrapColumnOrWidth(int w)

関連項目: lineWrapMode 。

lineWrapMode : LineWrapMode

このプロパティは、行の折り返しモードを指定します

デフォルトのモードはWidgetWidth であり、これにより単語はテキスト編集領域の右端で折り返されます。折り返しは空白の位置で行われ、単語はそのままの形で保持されます。単語の途中で折り返しを行いたい場合は、setWordWrapMode() を使用してください。FixedPixelWidth またはFixedColumnWidth の折り返しモードを設定する場合は、希望する幅を指定してsetLineWrapColumnOrWidth() も呼び出す必要があります。

アクセス関数:

QTextEdit::LineWrapMode lineWrapMode() const
void setLineWrapMode(QTextEdit::LineWrapMode mode)

lineWrapColumnOrWidthも参照してください 。

markdown : QString

このプロパティは、テキストエディタのテキストに対してMarkdownインターフェースを提供します。

toMarkdown() テキストエディットのテキストを、埋め込まれた HTML 書式設定を一切含まない「純粋な」Markdown として返します。QTextDocument がサポートする一部の機能(特定の色や名前付きフォントの使用など)は、「純粋な」Markdown では表現できないため、省略されます。

setMarkdown() テキストエディタのテキストを変更します。以前のテキストはすべて削除され、元に戻す/やり直すの履歴もクリアされます。入力されたテキストは、Markdown形式のリッチテキストとして解釈されます。

markdown 文字列に含まれるHTMLの解析は、setHtml と同様に処理されますが、HTMLブロック内のMarkdown書式はサポートされていません。

パーサーの一部の機能は、features 引数を用いて有効または無効にできます:

定数説明
MarkdownNoHTMLMarkdownテキスト内のHTMLタグはすべて無視されます
MarkdownDialectCommonMarkパーサーは、CommonMarkによって標準化された機能のみをサポートします
MarkdownDialectGitHubパーサーはGitHub方言をサポートします

デフォルトはMarkdownDialectGitHub です。

アクセス関数:

QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const
void setMarkdown(const QString &markdown)

通知シグナル:

void textChanged()

plainText 、html 、QTextDocument::toMarkdown()、およびQTextDocument::setMarkdown()も参照してください 。

overwriteMode : bool

このプロパティは、ユーザーが入力したテキストが既存のテキストを上書きするかどうかを指定します

多くのテキストエディタと同様に、このテキストエディタウィジェットは、ユーザーが入力した新しいテキストを既存のテキストに挿入するか上書きするか、設定することができます。

このプロパティが `true` の場合、既存のテキストは新しいテキストによって文字単位で上書きされます。それ以外の場合は、テキストがカーソル位置に挿入され、既存のテキストが押し出されます。

デフォルトでは、このプロパティは `false ` に設定されています(新しいテキストは既存のテキストを上書きしません)。

アクセス関数:

bool overwriteMode() const
void setOverwriteMode(bool overwrite)

placeholderText : QString

このプロパティには、エディタのプレースホルダーテキストが格納されます

このプロパティを設定すると、document() が空である限り、エディタにはグレー表示のプレースホルダーテキストが表示されます。

デフォルトでは、このプロパティには空の文字列が格納されています。

アクセス関数:

QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)

document()も参照してください 。

plainText : QString

このプロパティは、テキストエディタの内容をプレーンテキストとして保持します。

このプロパティが設定されると、以前の内容は削除され、元に戻す/やり直しの履歴がリセットされます。また、`textCursor()`がすでにドキュメントの先頭にある場合を除き、`currentCharFormat()`もリセットされます。

テキストエディタのコンテンツタイプが別のものになっている場合、toPlainText() を呼び出しても、プレーンテキストに置き換えられません。唯一の例外は、非改行スペース (nbsp;) で、これは標準のスペースに変換されます。

デフォルトでは、コンテンツのないエディタの場合、このプロパティには空の文字列が含まれます。

アクセス関数:

QString toPlainText() const
void setPlainText(const QString &text)

htmlも参照してください 。

readOnly : bool

このプロパティは、テキスト編集フィールドが読み取り専用であるかどうかを示します

読み取り専用のテキストエディットでは、ユーザーはテキスト内を移動したりテキストを選択したりすることしかできず、テキストの編集はできません。

このプロパティのデフォルト値は false です。

アクセス関数:

bool isReadOnly() const
void setReadOnly(bool ro)

tabChangesFocus : bool

このプロパティは、Tab がフォーカスを変更するか、入力として受け入れられるかどうかにかかわらず有効です

場合によっては、Tab キーによるタブ入力やインデントの変更がフォーカスチェーンを破壊するため、テキスト編集時にこれらを許可すべきではありません。デフォルトはfalseです。

アクセス関数:

bool tabChangesFocus() const
void setTabChangesFocus(bool b)

tabStopDistance : qreal

このプロパティは、タブストップの距離(ピクセル単位)を保持します

デフォルトでは、このプロパティの値は 80 ピクセルです。

QChar::VisualTabCharacter 文字のhorizontalAdvance()よりも小さい値を設定しないでください。そうしないと、タブ文字が不完全な状態で描画されます。

アクセス関数:

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

関連項目: QTextOption::ShowTabsAndSpaces およびQTextDocument::defaultTextOption 。

textInteractionFlags : Qt::TextInteractionFlags

ウィジェットがユーザー入力に対してどのように反応するかを指定します。

デフォルト値は、QTextEdit が読み取り専用か編集可能か、およびQTextBrowser であるかどうかに依存します。

アクセス関数:

Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)

undoRedoEnabled : bool

このプロパティは、元に戻すおよびやり直しが有効かどうかを指定します。

ユーザーは、このプロパティがtrueであり、かつ元に戻せる(またはやり直せる)操作が存在する場合にのみ、操作を元に戻したりやり直したりすることができます。

アクセス関数:

bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)

wordWrapMode : QTextOption::WrapMode

このプロパティは、QTextEdit が単語単位でテキストを折り返す際に使用するモードを指定します。

デフォルトでは、このプロパティは `QTextOption::WrapAtWordBoundaryOrAnywhere` に設定されています。

アクセス関数:

QTextOption::WrapMode wordWrapMode() const
void setWordWrapMode(QTextOption::WrapMode policy)

「QTextOption::WrapMode」も参照してください 。

メンバー関数のドキュメント

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

親要素がparent である空のQTextEditを作成します。

[explicit] QTextEdit::QTextEdit(const QString &text, QWidget *parent = nullptr)

親要素がparent であるQTextEditを構築します。このテキスト編集フィールドには、「text 」というテキストが表示されます。このテキストはHTMLとして解釈されます。

[virtual noexcept] QTextEdit::~QTextEdit()

デストラクタ。

Qt::Alignment QTextEdit::alignment() const

現在の段落の配置を返します。

setAlignment()も参照してください 。

QString QTextEdit::anchorAt(const QPoint &pos) const

位置pos にあるアンカーの参照を返します。その位置にアンカーが存在しない場合は、空の文字列を返します。

[slot] void QTextEdit::append(const QString &text)

テキスト編集領域の末尾に、text を含む新しい段落を追加します。

注: 追加される新しい段落は 、カーソルの位置によって決定される、現在の段落と同じ文字書式およびブロック書式を持ちます。

関連項目: currentCharFormat() およびQTextCursor::blockFormat()。

[virtual protected] bool QTextEdit::canInsertFromMimeData(const QMimeData *source) const

この関数は、source で指定された MIME データオブジェクトの内容をデコードしてドキュメントに挿入できる場合、true を返します。たとえば、ドラッグ操作中にマウスがこのウィジェットに入ってきた際、ドラッグ&ドロップ操作を受け入れることができるかどうかを判断する必要がある場合に、この関数が呼び出されます。

追加の MIME タイプに対するドラッグ&ドロップ機能を有効にするには、この関数を再実装してください。

bool QTextEdit::canPaste() const

クリップボードからテキストエディットにテキストを貼り付けることができるかどうかを返します。

[override virtual protected] void QTextEdit::changeEvent(QEvent *e)

QFrame::changeEvent(QEvent *ev) の再実装です。

[slot] void QTextEdit::clear()

テキスト編集フィールド内のテキストをすべて削除します。

注:

  • 元に戻す/やり直し履歴もクリアされます。
  • currentCharFormat textCursor()がすでにドキュメントの先頭にある場合を除き、()がリセットされます。

関連項目: cut()、setPlainText()、およびsetHtml()。

[override virtual protected] void QTextEdit::contextMenuEvent(QContextMenuEvent *event)

QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e) を再実装します。

createStandardContextMenu() で作成された標準のコンテキストメニューを表示します。

テキスト編集にコンテキストメニューを表示させたくない場合は、そのcontextMenuPolicy をQt::NoContextMenu に設定できます。コンテキストメニューをカスタマイズしたい場合は、この関数を再実装してください。標準のコンテキストメニューを拡張したい場合は、この関数を再実装し、createStandardContextMenu()を呼び出して、返されたメニューを拡張してください。

イベントに関する情報は、event オブジェクトを通じて渡されます。

void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

[slot] void QTextEdit::copy()

選択したテキストをクリップボードにコピーします。

copyAvailable()も参照してください 。

[signal] void QTextEdit::copyAvailable(bool yes)

このシグナルは、テキスト編集フィールドでテキストが選択されたり、選択が解除されたりしたときに発火します。

テキストが選択されると、このシグナルはyes がtrueに設定された状態で発火します。テキストが選択されていない場合、または選択されたテキストの選択が解除されると、このシグナルはyes がfalseに設定された状態で発火します。

yes がtrueの場合、copy() を使用して、選択範囲をクリップボードにコピーできます。yes がfalseの場合、copy() は何もしません。

selectionChanged()も参照してください 。

[virtual protected] QMimeData *QTextEdit::createMimeDataFromSelection() const

この関数は、テキストエディタの現在の選択範囲の内容を表す新しいMIMEデータオブジェクトを返します。この関数は、選択範囲を新しいQMimeData オブジェクトにカプセル化する必要があるときに呼び出されます。たとえば、ドラッグ&ドロップ操作が開始されたときや、データがクリップボードにコピーされたときなどです。

この関数を再実装する場合、返されるQMimeData オブジェクトの所有権は呼び出し元に引き渡されることに注意してください。選択範囲は、textCursor()関数を使用して取得できます。

QMenu *QTextEdit::createStandardContextMenu()

この関数は、ユーザーがテキスト編集フィールドをマウスの右ボタンでクリックした際に表示される標準のコンテキストメニューを作成します。これは、デフォルトのcontextMenuEvent()ハンドラから呼び出されます。ポップアップメニューの所有権は呼び出し元に引き継がれます。

代わりに、createStandardContextMenu(QPoint) を使用することをお勧めします。これにより、ユーザーがクリックした位置に応じたアクションが可能になります。

QMenu *QTextEdit::createStandardContextMenu(const QPoint &position)

この関数は、ユーザーがテキスト編集領域を右クリックした際に表示される標準のコンテキストメニューを作成します。この関数は、デフォルトのcontextMenuEvent()ハンドラから呼び出され、マウスクリックが発生した位置を表すドキュメント座標のposition を受け取ります。これにより、ユーザーがクリックした位置に応じた操作を有効にすることができます。ポップアップメニューの所有権は呼び出し元に譲渡されます。

QTextCharFormat QTextEdit::currentCharFormat() const

新しいテキストを挿入する際に使用される文字形式を返します。

setCurrentCharFormat()も参照してください 。

[signal] void QTextEdit::currentCharFormatChanged(const QTextCharFormat &f)

このシグナルは、カーソルの位置変更などにより、現在の文字形式が変更された場合に発信されます。

新しいフォーマットは `f` となります。

setCurrentCharFormat()も参照してください 。

QFont QTextEdit::currentFont() const

現在のフォーマットのフォントを返します。

setCurrentFont()、setFontFamily()、およびsetFontPointSize()も参照してください 。

QTextCursor QTextEdit::cursorForPosition(const QPoint &pos) const

pos の位置(ビューポート座標)にあるQTextCursor を返します。

[signal] void QTextEdit::cursorPositionChanged()

この信号は、カーソルの位置が変化するたびに発生します。

QRect QTextEdit::cursorRect() const

テキスト編集フィールドのカーソルを含む長方形(ビューポート座標系)を返します。

QRect QTextEdit::cursorRect(const QTextCursor &cursor) const

cursor を含む長方形(ビューポート座標系)を返します。

[slot] void QTextEdit::cut()

選択したテキストをクリップボードにコピーし、テキスト編集フィールドから削除します。

選択されたテキストがない場合は、何も起こりません。

copy() およびpaste()も参照してください 。

[override virtual protected] void QTextEdit::dragEnterEvent(QDragEnterEvent *e)

QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event) を再実装します。

[override virtual protected] void QTextEdit::dragLeaveEvent(QDragLeaveEvent *e)

QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event) を再実装します。

[override virtual protected] void QTextEdit::dragMoveEvent(QDragMoveEvent *e)

QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event) の再実装です。

[override virtual protected] void QTextEdit::dropEvent(QDropEvent *e)

QAbstractScrollArea::dropEvent (QDropEvent *event)を再実装します。

void QTextEdit::ensureCursorVisible()

必要に応じてテキスト編集欄をスクロールし、カーソルが表示されるようにします。

QList<QTextEdit::ExtraSelection> QTextEdit::extraSelections() const

以前に設定された追加の選択項目を返します。

setExtraSelections()も参照してください 。

bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

指定されたoptions を使用して、文字列exp の次の出現箇所を検索します。exp が見つかった場合はtrue を返し、カーソルを一致した箇所に合わせます。それ以外の場合はfalse を返します。

bool QTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())

指定されたoptions を使用して、正規表現exp に一致する次の出現箇所を検索します。

一致が見つかった場合は `true ` を返し、カーソルをその一致箇所に合わせます。一致が見つからない場合は `false` を返します。

警告: 歴史的な理由により 、exp に設定された大文字小文字の区別に関するオプションは無視されます。代わりに、options を使用して、検索が大文字小文字を区別するかどうかが決定されます。

これはオーバーロードされた関数です。

[override virtual protected] void QTextEdit::focusInEvent(QFocusEvent *e)

QWidget::focusInEvent(QFocusEvent *event) を再実装します。

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

QWidget::focusNextPrevChild (bool next)を再実装します。

[override virtual protected] void QTextEdit::focusOutEvent(QFocusEvent *e)

QWidget::focusOutEvent(QFocusEvent *event) を再実装します。

QString QTextEdit::fontFamily() const

現在のフォーマットのフォントファミリーを返します。

setFontFamily()、setCurrentFont()、およびsetFontPointSize()も参照してください 。

bool QTextEdit::fontItalic() const

現在のフォーマットのフォントがイタリック体である場合は `true ` を返し、そうでない場合は `false` を返します。

setFontItalic()も参照してください 。

qreal QTextEdit::fontPointSize() const

現在のフォーマットのフォントのポイントサイズを返します。

setFontFamily()、setCurrentFont()、およびsetFontPointSize()も参照してください 。

bool QTextEdit::fontUnderline() const

現在のフォーマットのフォントに下線が付いている場合は `true ` を返し、そうでない場合は `false` を返します。

setFontUnderline()も参照してください 。

int QTextEdit::fontWeight() const

現在の書式のフォントの太さを返します。

setFontWeight()、setCurrentFont()、setFontPointSize()、およびQFont::Weightも参照してください 。

[override virtual protected] void QTextEdit::inputMethodEvent(QInputMethodEvent *e)

QWidget::inputMethodEvent(QInputMethodEvent *event) を再実装します。

[override virtual] QVariant QTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const

QWidget::inputMethodQuery (Qt::InputMethodQuery query)const を再実装します。

[virtual protected] void QTextEdit::insertFromMimeData(const QMimeData *source)

この関数は、source で指定された MIME データオブジェクトの内容を、現在のカーソル位置のテキストエディットに挿入します。この関数は、クリップボードからの貼り付け操作の結果としてテキストが挿入されたとき、またはテキストエディットがドラッグ&ドロップ操作からのデータを受け入れたときに呼び出されます。

追加のMIMEタイプに対してドラッグ&ドロップをサポートするには、この関数を再実装してください。

[slot] void QTextEdit::insertHtml(const QString &text)

現在のカーソル位置に、HTML形式であると想定されるtext を挿入するための便利なスロットです。

これは以下と同等です:

edit->textCursor().insertHtml(fragment);

注: この関数をスタイルシートと併用する場合 、スタイルシートはドキュメント内の現在のブロックにのみ適用されます。ドキュメント全体にスタイルシートを適用するには、代わりに `QTextDocument::setDefaultStyleSheet()` を使用してください。

[slot] void QTextEdit::insertPlainText(const QString &text)

現在のカーソル位置に「text 」を挿入する便利なスロットです。

これは、

edit->textCursor().insertText(text);

[override virtual protected] void QTextEdit::keyPressEvent(QKeyEvent *e)

QAbstractScrollArea::keyPressEvent(QKeyEvent *e) を再実装します。

[override virtual protected] void QTextEdit::keyReleaseEvent(QKeyEvent *e)

QWidget::keyReleaseEvent(QKeyEvent *event) を再実装します。

[virtual invokable] QVariant QTextEdit::loadResource(int type, const QUrl &name)

指定された `type ` および `name` で指定されたリソースを読み込みます。

この関数は、QTextDocument::loadResource() の拡張機能です。

注:この関数は 、メタオブジェクトシステムを介して、またQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QTextDocument::loadResource()も参照してください 。

void QTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)

modifier で指定されたプロパティを、エディタのカーソルに対してQTextCursor::mergeCharFormat を呼び出すことで、現在の文字書式に統合します。エディタに選択範囲がある場合、modifier のプロパティが選択範囲に直接適用されます。

QTextCursor::mergeCharFormat()も参照してください 。

[override virtual protected] void QTextEdit::mouseDoubleClickEvent(QMouseEvent *e)

QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e) を再実装します。

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

QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e) を再実装します。

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

QAbstractScrollArea::mousePressEvent(QMouseEvent *e) を再実装します。

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

QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e) を再実装します。

void QTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)

指定されたoperation を実行して、カーソルを移動させます。

mode がQTextCursor::KeepAnchor の場合、カーソルが移動した先のテキストが選択されます。これは、ユーザーがShiftキーを押したままカーソルキーでカーソルを移動させたときと同じ効果です。

QTextCursor::movePosition()も参照してください 。

[override virtual protected] void QTextEdit::paintEvent(QPaintEvent *event)

QAbstractScrollArea::paintEvent(QPaintEvent *event) を再実装します。

このイベントハンドラは、event で渡されるペイントイベントを受け取るために、サブクラスで再実装することができます。通常、QTextEdit のサブクラスでこの関数を再実装する必要はありません。

注: QPainterを作成する場合 、それはviewport() に対して動作する必要があります。

警告: この関数の再実装内から、基になるテキストドキュメント を変更してはなりません。

[slot] void QTextEdit::paste()

クリップボード内のテキストを、現在のカーソル位置のテキスト編集欄に貼り付けます。

クリップボードにテキストがない場合は、何も起こりません。

この関数の動作、すなわちQTextEdit が貼り付ける内容や貼り付け方を変更するには、仮想関数canInsertFromMimeData()およびinsertFromMimeData()を再実装してください。

cut() およびcopy()も参照してください 。

void QTextEdit::print(QPagedPaintDevice *printer) const

テキストエディタのドキュメントを、指定されたprinter に出力するための便利な関数です。これは、ドキュメントに対して直接printメソッドを呼び出すのと同じですが、この関数ではQPrinter::Selectionも印刷範囲としてサポートしている点が異なります。

QTextDocument::print()も参照してください 。

[slot] void QTextEdit::redo()

直前の操作をやり直します。

やり直す操作がない場合、つまり元に戻す/やり直す履歴にやり直しステップがない場合は、何も起こりません。

undo()も参照してください 。

[signal] void QTextEdit::redoAvailable(bool available)

このシグナルは、リドゥ操作が利用可能になったとき(available がtrueの場合)または利用不可能になったとき(available がfalseの場合)に発せられます。

[override virtual protected] void QTextEdit::resizeEvent(QResizeEvent *e)

QAbstractScrollArea::resizeEvent(QResizeEvent *event) を再実装します。

[override virtual protected] void QTextEdit::scrollContentsBy(int dx, int dy)

QAbstractScrollArea::scrollContentsBy(int dx, int dy) を再実装します。

[slot] void QTextEdit::scrollToAnchor(const QString &name)

指定されたname を持つアンカーが表示されるように、テキスト編集領域をスクロールします。name が空の場合、すでに表示されている場合、または見つからない場合は、何も行いません。

[slot] void QTextEdit::selectAll()

すべてのテキストを選択します。

copy()、cut()、およびtextCursor()も参照してください 。

[signal] void QTextEdit::selectionChanged()

このシグナルは、選択内容が変更されるたびに発せられます。

copyAvailable()も参照してください 。

[slot] void QTextEdit::setAlignment(Qt::Alignment a)

現在の段落の配置を `a` に設定します。有効な配置は、`Qt::AlignLeft`、`Qt::AlignRight`、`Qt::AlignJustify `、および `Qt::AlignCenter `(水平方向に中央揃え)です。

alignment()も参照してください 。

void QTextEdit::setCurrentCharFormat(const QTextCharFormat &format)

エディタのカーソルで `QTextCursor::setCharFormat()` を呼び出すことにより、format に新しいテキストを挿入する際に使用する文字形式を設定します。エディタに選択範囲がある場合、その選択範囲に文字形式が直接適用されます。

currentCharFormat()も参照してください 。

[slot] void QTextEdit::setCurrentFont(const QFont &f)

現在のフォーマットのフォントを「f 」に設定します。

currentFont()、setFontPointSize()、およびsetFontFamily()も参照してください 。

void QTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)

この関数を使用すると、selections で指定された色で、ドキュメント内の特定の領域を一時的にマークすることができます。これは、例えばプログラミングエディタにおいて、ブレークポイントの存在を示すために、テキストの行全体を特定の背景色でマークする場合などに役立ちます。

QTextEdit::ExtraSelection およびextraSelections()も参照してください 。

[slot] void QTextEdit::setFontFamily(const QString &fontFamily)

現在の書式設定のフォントファミリーを「fontFamily 」に設定します。

fontFamily() およびsetCurrentFont()も参照してください 。

[slot] void QTextEdit::setFontItalic(bool italic)

italic が true の場合は、現在の書式をイタリックに設定します。そうでない場合は、現在の書式をイタリック以外に設定します。

fontItalic()も参照してください 。

[slot] void QTextEdit::setFontPointSize(qreal s)

現在の書式のポイントサイズをs に設定します。

なお、s が 0 または負の値の場合、この関数の挙動は未定義となります。

fontPointSize()、setCurrentFont()、およびsetFontFamily()も参照してください 。

[slot] void QTextEdit::setFontUnderline(bool underline)

underline が true の場合、現在の書式を下線付きに設定します。そうでない場合は、現在の書式を下線なしに設定します。

fontUnderline()も参照してください 。

[slot] void QTextEdit::setFontWeight(int weight)

現在の書式のフォントの太さを、指定されたweight に設定します。ここで、使用される値はQFont::Weight 列挙型で定義された範囲内となります。

fontWeight()、setCurrentFont()、およびsetFontFamily()も参照してください 。

[slot] void QTextEdit::setPlainText(const QString &text)

テキスト編集フィールドのテキストを「text 」という文字列に変更します。それまでのテキストはすべて削除されます。

注:

  • text はプレーンテキストとして解釈されます。
  • 元に戻す/やり直し履歴もクリアされます。
  • currentCharFormat textCursor()がすでに文書の先頭にある場合を除き、()はリセットされます。

注: プロパティ `plainText`のセッター 関数です。

toPlainText()も参照してください 。

[slot] void QTextEdit::setText(const QString &text)

テキスト編集フィールドのtext を設定します。テキストはプレーンテキストまたはHTMLのいずれでもよく、テキスト編集フィールドは適切な形式を推測しようとします。

テキストエディットの自動判別を回避するには、setHtml() またはsetPlainText() を直接使用してください。

toPlainText() およびtoHtml()も参照してください 。

[slot] void QTextEdit::setTextBackgroundColor(const QColor &c)

現在の書式のテキストの背景色を「c 」に設定します。

textBackgroundColor()も参照してください 。

[slot] void QTextEdit::setTextColor(const QColor &c)

現在の書式のテキストの色を「c 」に設定します。

textColor()も参照してください 。

void QTextEdit::setTextCursor(const QTextCursor &cursor)

cursor の表示状態を設定します。

textCursor()も参照してください 。

[override virtual protected] void QTextEdit::showEvent(QShowEvent *)

QWidget::showEvent(QShowEvent *event) を再実装します。

QColor QTextEdit::textBackgroundColor() const

現在の書式設定のテキストの背景色を返します。

setTextBackgroundColor()も参照してください 。

[signal] void QTextEdit::textChanged()

このシグナルは、ドキュメントの内容が変更されるたびに発生します。たとえば、テキストの挿入や削除、書式の適用が行われた場合などです。

注: プロパティ `html ` および `markdown` に対する通知 シグナルです。

QColor QTextEdit::textColor() const

現在の書式のテキストの色を返します。

setTextColor()も参照してください 。

QTextCursor QTextEdit::textCursor() const

現在表示されているカーソルを表すQTextCursor のコピーを返します。返されたカーソルへの変更は、QTextEdit のカーソルには影響しないことに注意してください。表示されているカーソルを更新するには、setTextCursor()を使用してください。

setTextCursor()も参照してください 。

QString QTextEdit::toPlainText() const

QString QTextEdit::toPlainText() const

テキストエディタのテキストをプレーンテキストとして返します。

注: プロパティ `plainText`のゲッター 関数です。

関連項目: QTextEdit::setPlainText()。

[slot] void QTextEdit::undo()

直前の操作を取り消します。

元に戻す操作がない場合、つまり元に戻す/やり直し履歴に元に戻すステップがない場合は、何も起こりません。

redo()も参照してください 。

[signal] void QTextEdit::undoAvailable(bool available)

このシグナルは、元に戻す操作が利用可能になったとき(available がtrueの場合)または利用不可能になったとき(available がfalseの場合)に発火します。

[override virtual protected] void QTextEdit::wheelEvent(QWheelEvent *e)

QAbstractScrollArea::wheelEvent(QWheelEvent *e) を再実装します。

[slot] void QTextEdit::zoomIn(int range = 1)

基本フォントサイズをrange ポイント大きくし、すべてのフォントサイズを新しいサイズに合わせて再計算することで、テキストを拡大表示します。この操作では、画像のサイズは変更されません。

zoomOut()も参照してください 。

[slot] void QTextEdit::zoomOut(int range = 1)

ベースのフォントサイズをrange ポイント小さくし、すべてのフォントサイズを新しいサイズに合わせて再計算することで、テキストをズームアウトします。これにより、画像のサイズは変更されません。

zoomIn()も参照してください 。

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