QTextBlockFormat Class
QTextBlockFormatクラスは、QTextDocument... 詳細
Header: | #include <QTextBlockFormat> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | QTextFormat |
- 継承メンバを含む全メンバ一覧
- QTextBlockFormatは、リッチテキスト処理APIおよび暗黙的に共有されるクラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
enum | LineHeightTypes { SingleHeight, ProportionalHeight, FixedHeight, MinimumHeight, LineDistanceHeight } |
enum class | MarkerType { NoMarker, Unchecked, Checked } |
パブリック関数
QTextBlockFormat() | |
Qt::Alignment | alignment() const |
qreal | bottomMargin() const |
int | headingLevel() const |
int | indent() const |
bool | isValid() const |
qreal | leftMargin() const |
qreal | lineHeight() const |
qreal | lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const |
int | lineHeightType() const |
QTextBlockFormat::MarkerType | marker() const |
bool | nonBreakableLines() const |
QTextFormat::PageBreakFlags | pageBreakPolicy() const |
qreal | rightMargin() const |
void | setAlignment(Qt::Alignment alignment) |
void | setBottomMargin(qreal margin) |
void | setHeadingLevel(int level) |
void | setIndent(int indentation) |
void | setLeftMargin(qreal margin) |
void | setLineHeight(qreal height, int heightType) |
void | setMarker(QTextBlockFormat::MarkerType marker) |
void | setNonBreakableLines(bool b) |
void | setPageBreakPolicy(QTextFormat::PageBreakFlags policy) |
void | setRightMargin(qreal margin) |
void | setTabPositions(const QList<QTextOption::Tab> &tabs) |
void | setTextIndent(qreal indent) |
void | setTopMargin(qreal margin) |
QList<QTextOption::Tab> | tabPositions() const |
qreal | textIndent() const |
qreal | topMargin() const |
詳細説明
ドキュメントはQTextBlock オブジェクトで表されるブロックのリストで構成されます。各ブロックは、テキストの段落、表、リスト、画像など、何らかのアイテムを含むことができます。各ブロックには、その特性を指定する QTextBlockFormat が関連付けられています。
左から右への言語と右から左への言語に対応するために、setLayoutDirection() でブロックの方向を設定できます。段落揃えはsetAlignment() で設定します。マージンはsetTopMargin(),setBottomMargin(),setLeftMargin(),setRightMargin() で制御します。全体のインデントはsetIndent() で設定し、最初の行のインデントはsetTextIndent() で設定します。
行間はsetLineHeight() で設定し、lineHeight() とlineHeightType() で取得する。使用可能な行間の種類は、LineHeightTypes enumにある。
改行の有効/無効はsetNonBreakableLines() で設定できます。
段落の背景を塗るブラシはsetBackground() で設定します。また、setProperty() 関数でOutlinePen
、ForegroundBrush
、BackgroundBrush
QTextFormat::Property の値を指定することで、テキストの外観をカスタマイズできます。
テ キ ス ト ブ ロ ッ ク が リ ス ト の一部であ る と き は、 listFormat() 関数で リ ス ト 形式を指定す る こ と も で き ます。
QTextBlock およびQTextCharFormatも参照 。
メンバ型の説明
enum QTextBlockFormat::LineHeightTypes
この列挙型は、段落が持ちうるさまざまな行間のサポートについて記述します。
定数 | 値 | 説明 |
---|---|---|
QTextBlockFormat::SingleHeight | 0 | これはデフォルトの行の高さです。 |
QTextBlockFormat::ProportionalHeight | 1 | これは、行に比例した行間を設定します(パーセンテージ)。例えば、ダブルスペースの場合は200に設定します。 |
QTextBlockFormat::FixedHeight | 2 | 行の高さを固定行高さ(ピクセル単位)に設定します。 |
QTextBlockFormat::MinimumHeight | 3 | 行の高さの最小値を設定します(ピクセル単位)。 |
QTextBlockFormat::LineDistanceHeight | 4 | 行間に指定した高さ(ピクセル単位)を追加します。 |
lineHeight(),lineHeightType(),setLineHeight()も参照 。
enum class QTextBlockFormat::MarkerType
この列挙型は、リスト項目が持つことのできるマーカーの種類を記述する。リスト項目(QTextBlock::textList ()がリストを返す段落)にマーカーがある場合、通常の箇条書きの代わりに表示されます。このように、チェック可能なリスト項目は、QTextListFormat::style() で指定された箇条書きの種類をリスト全体で上書きして、同じリスト内でプレーンなリスト項目と混在させることができます。
定数 | 値 | 説明 |
---|---|---|
QTextBlockFormat::MarkerType::NoMarker | 0 | これはデフォルトです: リスト項目の箇条書きが表示されます。 |
QTextBlockFormat::MarkerType::Unchecked | 1 | リスト項目の箇条書きの代わりに、チェックされていないチェックボックスが表示されます。 |
QTextBlockFormat::MarkerType::Checked | 2 | リスト項目の箇条書きの代わりに、チェックされたチェックボックスが表示されます。 |
将来的には、他のタイプの段落装飾を指定するために拡張されるかもしれません。
QTextListFormat::style()も参照 。
メンバ関数 ドキュメント
QTextBlockFormat::QTextBlockFormat()
新しい QTextBlockFormat を構築する。
Qt::Alignment QTextBlockFormat::alignment() const
段落の配置を返します。
setAlignment()も参照 。
qreal QTextBlockFormat::bottomMargin() const
段落の下マージンを返します。
setBottomMargin() およびtopMargin()も参照して ください。
int QTextBlockFormat::headingLevel() const
段落の見出しレベルを返します。
setHeadingLevel()も参照 ください。
int QTextBlockFormat::indent() const
段落のインデント値を返します。
setIndent() も参照 ください。
bool QTextBlockFormat::isValid() const
このブロック形式が有効な場合はtrue
を返し、そうでない場合は false を返します。
qreal QTextBlockFormat::leftMargin() const
段落の左マージンを返します。
setLeftMargin()、rightMargin() およびindent() も参照して ください。
qreal QTextBlockFormat::lineHeight() const
LineHeight関数は、段落の LineHeight プロパティを返します。
LineHeightTypes 、setLineHeight()、およびlineHeightType() も参照して ください。
qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling = 1.0) const
scriptLineHeight で指定されたスクリプト行の高さと、指定されたscaling 係数に基づいて、段落内の行の高さを返します。
返される値は、指定された段落の LineHeightType と、段落に設定されている LineHeight 設定にも依存します。
スケーリングは、固定ピクセル数を含む高さの場合、印刷用に適切にスケーリングするために必要です。
LineHeightTypes 、setLineHeight()、lineHeightType()も参照してください 。
int QTextBlockFormat::lineHeightType() const
この関数は、段落の LineHeightType プロパティを返します。
LineHeightTypes 、setLineHeight()、lineHeight() も参照 。
QTextBlockFormat::MarkerType QTextBlockFormat::marker() const
段落のマーカーが設定されている場合はそのマーカーを、設定されていない場合はNoMarker
を返します。
setMarker() も参照 。
bool QTextBlockFormat::nonBreakableLines() const
段落内の行が改行不可能な場合はtrue
を返し、そうでない場合はfalse
を返します。
setNonBreakableLines() も参照 。
QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const
段落に対して現在設定されている改ページ・ポリシーを返します。デフォルトはQTextFormat::PageBreak_Auto です。
setPageBreakPolicy()も参照 。
qreal QTextBlockFormat::rightMargin() const
段落の右マージンを返します。
setRightMargin() およびleftMargin() も参照 。
void QTextBlockFormat::setAlignment(Qt::Alignment alignment)
段落のalignment を設定します。
alignment()も参照 。
void QTextBlockFormat::setBottomMargin(qreal margin)
段落の下端margin を設定します。
bottomMargin()、setTopMargin()、setLeftMargin()、およびsetRightMargin() も参照して ください。
void QTextBlockFormat::setHeadingLevel(int level)
段落の見出しを設定しますlevel 。ここで 1 は最上位の見出しタイプ(通常は可能な限り大きな見出しフォントサイズ)であり、 値が大きくなるにつれて文書の奥深く(通常はより小さなフォントサイズ)になっていきます。例えばHTMLのH1タグを読むとき、見出しレベルは1に設定されます。見出しレベルを設定してもフォントサイズは自動的に変わりません。しかしQTextDocumentFragment::fromHtml() は見出しレベルとフォントサイズの両方を同時に設定します。
段落が見出しでない場合、レベルは0(デフォルト)に設定されるべきです。
headingLevel()も参照して ください。
void QTextBlockFormat::setIndent(int indentation)
段落のindentation を設定します。余白は、setLeftMargin() およびsetTextIndent() でインデントとは別に設定します。indentation は整数で、これに文書全体の標準インデントをかけたものが、段落の実際のインデントになります。
indent() およびQTextDocument::indentWidth()も参照 。
void QTextBlockFormat::setLeftMargin(qreal margin)
段落の左margin を設定します。インデントは、setIndent() で個別に指定することもできます。
leftMargin()、setRightMargin()、setTopMargin() およびsetBottomMargin() も参照 。
void QTextBlockFormat::setLineHeight(qreal height, int heightType)
段落の行の高さをheight で指定された値に設定します。この値はLineHeightTypes enum で指定された方法でheightType に依存します。
LineHeightTypes 、lineHeight()、lineHeightType()も参照 。
void QTextBlockFormat::setMarker(QTextBlockFormat::MarkerType marker)
段落とともにレンダリングされるべき装飾のタイプをmarker に設定します。例えば、リスト項目は、その箇条書きの代わりとして、チェックボックスで飾ることができます。デフォルトはNoMarker
です。
marker()も参照してください 。
void QTextBlockFormat::setNonBreakableLines(bool b)
b が true の場合、段落内の行は改行不可として扱われます。
nonBreakableLines() も参照 。
void QTextBlockFormat::setPageBreakPolicy(QTextFormat::PageBreakFlags policy)
段落の改ページ・ポリシーをpolicy に設定します。
pageBreakPolicy() も参照 。
void QTextBlockFormat::setRightMargin(qreal margin)
段落の右margin を設定します。
rightMargin()、setLeftMargin()、setTopMargin() およびsetBottomMargin() も参照 。
void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs)
テキスト・ブロックのタブ位置をtabs で指定された位置に設定します。
tabPositions()も参照のこと 。
void QTextBlockFormat::setTextIndent(qreal indent)
ブロック内の最初の行のindent を設定します。これにより、段落の最初の行を他の行とは異なるインデントにすることができ、 テキストの読みやすさが向上します。
textIndent()、setLeftMargin()、setRightMargin()、setTopMargin() およびsetBottomMargin()も参照 。
void QTextBlockFormat::setTopMargin(qreal margin)
段落の先頭margin を設定します。
topMargin()、setBottomMargin()、setLeftMargin() およびsetRightMargin() も参照 。
QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const
テキスト・ブロック用に定義されたタブ位置のリストを返します。
setTabPositions() も参照 ください。
qreal QTextBlockFormat::textIndent() const
段落のテキストインデントを返します。
setTextIndent() も参照 ください。
qreal QTextBlockFormat::topMargin() const
段落の上マージンを返します。
setTopMargin() およびbottomMargin() も参照 ください。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。