QVirtualKeyboardTrace 类
跟踪是触摸输入数据的数据模型。 更多...
头文件 | #include <QVirtualKeyboardTrace> |
CMake | find_package(Qt6 REQUIRED COMPONENTS VirtualKeyboard) target_link_libraries(mytarget PRIVATE Qt6::VirtualKeyboard) |
qmake | QT += virtualkeyboard |
自从 | QtQuick.VirtualKeyboard 2.0 |
由以下实例化 | 跟踪 |
继承 | QObject |
属性
公共函数
int | addPoint(const QPointF &point) |
QVariantList | channelData(const QString &channel, int pos = 0, int count = -1) const |
QStringList | channels() const |
bool | isCanceled() const |
bool | isFinal() const |
int | length() const |
qreal | opacity() const |
QVariantList | points(int pos = 0, int count = -1) const |
void | setCanceled(bool canceled) |
void | setChannelData(const QString &channel, int index, const QVariant &data) |
void | setChannels(const QStringList &channels) |
void | setFinal(bool final) |
void | setOpacity(qreal opacity) |
void | setTraceId(int id) |
(since QtQuick.VirtualKeyboard.Styles 6.1) void | startHideTimer(int delayMs) |
int | traceId() const |
信号
void | canceledChanged(bool isCanceled) |
void | channelsChanged() |
void | finalChanged(bool isFinal) |
void | lengthChanged(int length) |
void | opacityChanged(qreal opacity) |
void | traceIdChanged(int traceId) |
详细说明
“追踪”提供单个笔画相关坐标数据和可选数据的模型。
跟踪对象的一个典型用例如下
- TraceInputArea 或其他输入设备通过调用 InputEngine.traceBegin() 方法来启动跟踪事件。
- 如果当前输入方法接受该事件,则创建一个跟踪对象并配置所需的数据通道(如果有)。
- TraceInputArea 收集跟踪对象的必要数据。
- TraceInputArea 调用 InputEngine.traceEnd() 方法来完成跟踪并将跟踪对象返回给输入方法。
- 输入方法处理数据并在不再需要时丢弃对象。
使用 points() 函数检索坐标数据。
除了基于坐标的数据外,还可以为每个数据点附加任意数据通道。
在添加点之前必须定义数据通道。以下列出了TraceInputArea 支持的数据通道
"t"
收集每个数据点的时间。时间是自 1970/01/01 以来的毫秒数
例如,要将对象配置为收集每个点的时间
QVirtualKeyboardTrace *trace = new QVirtualKeyboardTrace(this); trace->setChannels(QStringList() << "t");
可以通过使用 channelData() 函数来访问收集到的数据
QVariantList timeData = trace->channelData("t");
在正常情况下,QVirtualKeyboardTrace 对象由其创建者拥有,即输入方法。这意味着对象在InputMethod.traceBegin() (QML) 方法中构建。
根据定义,跟踪对象可以在InputMethod.traceEnd() (QML) 方法中最早被销毁。
属性文档
canceled : bool
定义是否取消 QVirtualKeyboardTrace。
不应从将 canceled
属性设置为 true 的 Trace 中处理输入数据。
访问函数
bool | isCanceled() const |
void | setCanceled(bool canceled) |
通知信号
void | canceledChanged(bool isCanceled) |
channels : QStringList
在 QQTrace 中的数据通道列表。
必须在此属性初始化之前添加数据。
访问函数
QStringList | channels() const |
void | setChannels(const QStringList &channels) |
通知信号
void | channelsChanged() |
final : bool
定义 QVirtualKeyboardTrace 是否可以接受更多数据。如果值为 true
,则不接受更多数据。
访问函数
bool | isFinal() const |
void | setFinal(bool final) |
通知信号
void | finalChanged(bool isFinal) |
[只读]
length : const int
此属性包含 QVirtualKeyboardTrace 中的点数。
访问函数
int | length() const |
通知信号
void | lengthChanged(int length) |
透明度 : qreal
此属性定义了QVirtualKeyboardTrace的透明度。
较低的值会导致更透明的追踪:0.0
表示完全透明,而 1.0
表示完全不透明。
此属性在有新追踪加入时,可以使旧追踪更加透明。
访问函数
qreal | opacity() const |
void | setOpacity(qreal 透明度) |
通知信号
void | opacityChanged(qreal 透明度) |
追踪ID : int
此QVirtualKeyboardTrace的唯一ID。
访问函数
int | traceId() const |
void | setTraceId(int id) |
通知信号
void | traceIdChanged(int 追踪ID) |
成员函数文档
[可调用]
int QVirtualKeyboardTrace::addPoint(const QPointF &point)
向QVirtualKeyboardTrace添加一个point。
此方法返回添加的点的索引,或者在点无法添加时返回 -1(例如,当 final 为 true 时)。
注意:返回的索引用于通过setChannelData()方法将额外数据关联到点。
注意:此函数可以通过元对象系统调用来调用,也可以从 QML 调用。请参阅Q_INVOKABLE。
[可调用]
QVariantList QVirtualKeyboardTrace::channelData(const QString &channel, int pos = 0, int count = -1) const
返回指定channel中的数据。如果没有给出其他参数,则方法返回所有数据。
如果给出pos参数,则方法返回从位置开始的坐标。参数count限制返回的项的数量。
注意:此函数可以通过元对象系统调用来调用,也可以从 QML 调用。请参阅Q_INVOKABLE。
另请参阅setChannelData。
[可调用]
QVariantList QVirtualKeyboardTrace::points(int pos = 0, int count = -1) const
返回点的列表。如果没有给出参数,则方法返回所有数据。
如果给出pos参数,则从位置返回点。参数count限制返回点的数量。
返回的列表包含QPointF类型。
注意:此函数可以通过元对象系统调用来调用,也可以从 QML 调用。请参阅Q_INVOKABLE。
[可调用]
void QVirtualKeyboardTrace::setChannelData(const QString &channel, int index, const QVariant &data)
设置给定的数据channel中索引为index的点的数据。
如果没有为此方法中的每个数据点调用,则通道数据将以空值填充。但是,无法在任意索引处添加数据,即它必须与点数据同步添加。
注意:此函数可以通过元对象系统调用来调用,也可以从 QML 调用。请参阅Q_INVOKABLE。
请参阅channelData。
[可调用,自 QtQuick.VirtualKeyboard.Styles 6.1起]
void QVirtualKeyboardTrace::startHideTimer(int delayMs)
启动一个计时器,在delayMs后设置不透明度为零。如果在delayMs内再次调用,计时器将重新启动。
使用此函数,输入法可以在销毁跟踪对象之前将其从屏幕隐藏,例如,表示跟踪已处理。
注意:此函数可以通过元对象系统调用来调用,也可以从 QML 调用。请参阅Q_INVOKABLE。
此函数自 QtQuick.VirtualKeyboard.Styles 6.1版起引入。
© 2024 Qt公司有限公司。此处包含的文档贡献者的文档版权所有。此处提供的文档根据自由软件基金会发布、GNU自由文档许可版1.3的条款进行许可。Qt及其相应标志是芬兰及其它全球国家The Qt Company有限公司的商标。所有其他商标均为相应所有者的财产。