DWInputMethodOption

2023-11-02 11:39:01    文子    285

接口定义:


void DWInputMethodOption(QObject * im, const QString &key, const QObject * lpValue);
输入法提供了各种功能参数设置,都通过这个接口实现,常用的已经经过二次封装,请查看《二次封装API》。



参数 im,是由DWInputMethodCreate返回的实例指针。

参数 key,是设置项名称,常用的有 pos、size、mode 等,详细看 《二次封装API》或查看头文件

参数 lpValue,是设置项的值或内容。



参考代码:


// 设置位置
inline void DWIM_SetPos(QObject * im, int x, int y)
{
    QPoint _pos = QPoint(x, y);
    DWInputMethodOption(im, "pos", (QObject*)&_pos);
}
inline void DWIM_SetPos(QObject * im, QPoint _pos)
{
    DWInputMethodOption(im, "pos", (QObject*)&_pos);
}
// 设置大小
inline void DWIM_SetSize(QObject * im, int w, int h)
{
    QSize _size = QSize(w, h);
    DWInputMethodOption(im, "size", (QObject*)&_size);
}
// 设置输入模式:py9,py26,sk9,sk26,hw9,hw26, etc..
inline void DWIM_SetMode(QObject * im, QString mode)
{
    DWInputMethodOption(im, "mode", (QObject*)&mode);
}
// 设置九宫格符号表: `为分隔符; 不设置就使用默认符号
inline void DWIM_SetT9Symb(QObject * im, QString cn, QString en)
{
    DWInputMethodOption(im, "syllableSymbCn", (QObject*)&cn);
    DWInputMethodOption(im, "syllableSymbEn", (QObject*)&en);
}
// 设置皮肤css
inline void DWIM_SetCss(QObject * im, QString css)
{
    DWInputMethodOption(im, "style", (QObject*)&css);
}
// 设置是否可以移动
inline void DWIM_SetMoveable(QObject * im, bool moveAble)
{
    DWInputMethodOption(im, "moveable", (QObject*)moveAble);
}
// 设置 Bool 类型参数
inline void DWIM_SetBool(QObject * im, const QString key, bool value)
{
    DWInputMethodOption(im, key, (QObject*)value);
}
// 设置 Int 类型参数
inline void DWIM_SetInt(QObject * im, const QString key, int value)
{
    DWInputMethodOption(im, key, (QObject*)&value);
}
// 设置 QString 类型参数
inline void DWIM_SetString(QObject * im, const QString key, QString value)
{
    DWInputMethodOption(im, key, (QObject*)&value);
}
// 设置 QColor 类型参数
inline void DWIM_SetColor(QObject * im, const QString key, QColor value)
{
    DWInputMethodOption(im, key, (QObject*)&value);
}