2018年4月1日

ObjectModel

モジュール

QtQml.Models 2.3

クラス継承

QQmlObjectModel → QQmlInstanceModel (internal) → QObject

プロパティー

children: list<QtObject> = [] readonly default

count: int = 0 readonly inherited

アタッチトプロパティー

ObjectModel.index: int

シグナル

OjbectModel.indexChanged()
childrenChanged()
countChanged() inherited
createdItem(int index, QtObject object) inherited
destroyingItem(QtObject object) inherited
initItem(int index, QtObject object) inherited
modelUpdated(QQmlChangeSet changeSet, bool reset) inherited

メソッド

void append(QtObject object)
QtObject get(int index)
void insert(int index, QtObject object)
void move(int from, int to, int n = 1)
void remove(int index, int n = 1)

スロット

void clear()

説明


プロパティーの説明

children: list<QtObject>

count: int

アタッチトプロパティーの説明

ObjectModel.index: int

シグナルの説明

createdItem(int index, QtObject object)

destroyingItem(QtObject object)

initItem(int index, QtObject object)

modelUpdated(QQmlChangeSet changeSet, bool reset)

OjbectModel.indexChanged()

メソッドの説明

void append(QtObject object)

QtObject get(int index)

void insert(int index, QtObject object)

void move(int from, int to, int n = 1)

void remove(int index, int n = 1)

スロットの説明

void clear()

問題


children プロパティーは ObjectModel で定義されている。リファレンスに記載されていないのは間違い。リファレンスはシグナルも漏れている。

参考情報

Text

モジュール

QtQuick 2.9

クラス継承

QQuickText → QQuickItemQObject

プロパティー

advance: size = Qt.size(-1, -1) readonly
baseUrl: url = 現在ファイル
bottomPadding: real = 0
color: color = #ff000000
contentHeight: real = プラットフォームデフォルト readonly
contentWidth: real = 0 readonly
effectiveHorizontalAlignment: HAlignment = Text.AlignLeft readonly
elide: TextElideMode = Text.ElideNone
font: font = プラットフォームデフォルト
fontInfo: QJSValue readonly
fontSizeMode: FontSizeMode = Text.FixedFont
horizontalAlignment: HAlignment = Text.AlignLeft
hoveredLink: string = "" readonly
leftPadding: real = 0
lineCount: int = 1 readonly
lineHeight: real = 1
lineHeightMode: LineHeightMode = Text.ProportionalHeight
linkColor: color = #ff0000ff
maximumLineCount: int = 2147483647
minimumPixelSize: int = 12
minimumPointSize: int = 12
padding: real = 0
paintedHeight: real = プラットフォームデフォルト readonly
paintedWidth: real = 0 readonly
renderType: RenderType = Text.QtRendering
rightPadding: real = 0
style: TextStyle = Text.Normal
styleColor: color = #ff000000
text: string = ""
textFormat: TextFormat = Text.AutoText
topPadding: real = 0
truncated: bool = false readonly
verticalAlignment: VAlignment = Text.AlignTop
wrapMode: WrapMode = Text.NoWrap

シグナル

contentSizeChanged()
linkActivated(string link)
linkHovered(string link)
lineLaidOut(QQuickTextLine* line)
baseUrlChanged()
bottomPaddingChanged()
colorChanged()
effectiveHorizontalAlignmentChanged()
elideModeChanged(Text::TextElideMode mode)
fontChanged(font font)
fontInfoChanged()
fontSizeModeChanged()
horizontalAlignmentChanged(Text::HAlignment alignment)
leftPaddingChanged()
lineCountChanged()
lineHeightChanged(real lineHeight)
lineHeightModeChanged(LineHeightMode mode)
lineLaidOut(QQuickTextLine* line)
maximumLineCountChanged()
minimumPixelSizeChanged()
minimumPointSizeChanged()
paddingChanged()
renderTypeChanged()
rightPaddingChanged()
styleChanged(Text::TextStyle style)
styleColorChanged()
textChanged(string text)
textFormatChanged(Text::TextFormat textFormat)
topPaddingChanged()
truncatedChanged()
verticalAlignmentChanged(Text::VAlignment alignment)
wrapModeChanged()

メソッド

void doLayout()
void forceLayout()
string linkAt(qreal x, qreal y)

列挙

HAlignment
    AlignLeft
    AlignRight
    AlignHCenter
    AlignJustify
VAlignment
    AlignTop
    AlignBottom
    AlignVCenter
TextStyle
    Normal
    Outline
    Raised
    Sunken
TextFormat
    PlainText
    RichText
    AutoText
    StyledText
TextElideMode
    ElideLeft
    ElideRight
    ElideMiddle
    ElideNone
WrapMode
    NoWrap
    WordWrap
    WrapAnywhere
    WrapAtWordBoundaryOrAnywhere
    Wrap
RenderType
    QtRendering
    NativeRendering
LineHeightMode
    ProportionalHeight
    FixedHeight
FontSizeMode
    FixedSize
    HorizontalFit
    VerticalFit
    Fit

説明


プロパティーの説明

advance: size

baseUrl: url

bottomPadding:

color: color

contentHeight: real

contentWidth: real

effectiveHorizontalAlignment: HAlignment

elide: TextElideMode

font: font

font を参照。

fontInfo: QJSValue

設定フォントと fontSizeMode から求められ実際に使われているフォントの情報。fontInfo を参照。

fontSizeMode: FontSizeMode

horizontalAlignment: HAlignment

hoveredLink: string

leftPadding: real

lineCount: int

lineHeight: real

lineHeightMode: LineHeightMode

linkColor: color

maximumLineCount: int

minimumPixelSize: int

minimumPointSize: int

padding: real

paintedHeight: real

paintedWidth: real

renderType: RenderType

rightPadding: real

style: TextStyle

styleColor: color

text: string

textFormat: TextFormat

topPadding: real

truncated: bool

verticalAlignment: VAlignment

wrapMode: WrapMode

シグナルの説明

contentSizeChanged()

advance、contentWidth、contentHeight、paintedWidth、paintedHeight のいずれが変更されると送信される通知シグナル。

linkActivated(string link)

linkHovered(string link)

lineLaidOut(QQuickTextLine* line)

メソッドの説明

void doLayout()

廃止、Qt 6 で削除予定。代わりに forceLayout() を使う。

void forceLayout()

string linkAt(real x, real y)

列挙の説明


問題


リファレンスのプロパティーに clip が入っているがオーバーライドされていないので Text のプロパティーではなく Item のプロパティーが正しい。

下線がベースラインの下に引かれるプラットフォームで renderType を Text.NativeRendering に設定してもテキスト最下端に下線が引かれてしまうので見栄えが劣る。

elide の型が TextElideMode だが、FontMetrics の elidedText() の mode  仮引数の型は Qt::TextElideMode になっていて一貫性を欠いている。

参考情報

Text QML Type