当前位置: 首页>>代码示例>>C++>>正文


C++ QWebPageClient::setInputMethodEnabled方法代码示例

本文整理汇总了C++中QWebPageClient::setInputMethodEnabled方法的典型用法代码示例。如果您正苦于以下问题:C++ QWebPageClient::setInputMethodEnabled方法的具体用法?C++ QWebPageClient::setInputMethodEnabled怎么用?C++ QWebPageClient::setInputMethodEnabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在QWebPageClient的用法示例。


在下文中一共展示了QWebPageClient::setInputMethodEnabled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: setInputMethodState

void EditorClientQt::setInputMethodState(bool active)
{
    QWebPageClient* webPageClient = m_page->d->client;
    if (webPageClient) {
#if QT_VERSION >= 0x040600
        // Make sure to reset input method hint
        webPageClient->setInputMethodHint(Qt::ImhDialableCharactersOnly, false);
        webPageClient->setInputMethodHint(Qt::ImhDigitsOnly, false);
        webPageClient->setInputMethodHint(Qt::ImhEmailCharactersOnly, false);
        webPageClient->setInputMethodHint(Qt::ImhUrlCharactersOnly, false);
        webPageClient->setInputMethodHint(Qt::ImhHiddenText, false);

        HTMLInputElement* inputElement = 0;
        Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame();
        if (frame && frame->document() && frame->document()->focusedNode())
            if (frame->document()->focusedNode()->hasTagName(HTMLNames::inputTag))
                inputElement = static_cast<HTMLInputElement*>(frame->document()->focusedNode());

        if (inputElement) {
            // Set input method hints for "number", "tel", "email", "url" and "password" input elements.
            webPageClient->setInputMethodHint(Qt::ImhDialableCharactersOnly, inputElement->isTelephoneField());
            webPageClient->setInputMethodHint(Qt::ImhDigitsOnly, inputElement->isNumberField());
            webPageClient->setInputMethodHint(Qt::ImhEmailCharactersOnly, inputElement->isEmailField());
            webPageClient->setInputMethodHint(Qt::ImhUrlCharactersOnly, inputElement->isUrlField());
            // Setting the Qt::WA_InputMethodEnabled attribute true and Qt::ImhHiddenText flag
            // for password fields. The Qt platform is responsible for determining which widget
            // will receive input method events for password fields.
            bool isPasswordField = inputElement->isPasswordField();
            webPageClient->setInputMethodHint(Qt::ImhHiddenText, isPasswordField);
            if (isPasswordField)
                active = true;
        }

#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN)
        // disables auto-uppercase and predictive text for mobile devices
        webPageClient->setInputMethodHint(Qt::ImhNoAutoUppercase, true);
        webPageClient->setInputMethodHint(Qt::ImhNoPredictiveText, true);
#endif // Q_WS_MAEMO_5 || Q_OS_SYMBIAN
#endif // QT_VERSION check
        webPageClient->setInputMethodEnabled(active);
    }
    emit m_page->microFocusChanged();
}
开发者ID:Akheon23,项目名称:chromecast-mirrored-source.vendor,代码行数:43,代码来源:EditorClientQt.cpp

示例2: setInputMethodState

void EditorClientQt::setInputMethodState(bool active)
{
    QWebPageClient* webPageClient = m_page->client.data();
    if (webPageClient) {
        Qt::InputMethodHints hints;

        HTMLInputElement* inputElement = 0;
        Frame* frame = m_page->page->focusController()->focusedOrMainFrame();
        if (frame && frame->document() && frame->document()->focusedNode())
            if (frame->document()->focusedNode()->hasTagName(HTMLNames::inputTag))
                inputElement = static_cast<HTMLInputElement*>(frame->document()->focusedNode());

        if (inputElement) {
            // Set input method hints for "number", "tel", "email", "url" and "password" input elements.
            if (inputElement->isTelephoneField())
                hints |= Qt::ImhDialableCharactersOnly;
            if (inputElement->isNumberField())
                hints |= Qt::ImhDigitsOnly;
            if (inputElement->isEmailField())
                hints |= Qt::ImhEmailCharactersOnly;
            if (inputElement->isURLField())
                hints |= Qt::ImhUrlCharactersOnly;
            // Setting the Qt::WA_InputMethodEnabled attribute true and Qt::ImhHiddenText flag
            // for password fields. The Qt platform is responsible for determining which widget
            // will receive input method events for password fields.
            if (inputElement->isPasswordField()) {
                active = true;
                hints |= Qt::ImhHiddenText;
            }
        }

        webPageClient->setInputMethodHints(hints);
        webPageClient->setInputMethodEnabled(active);
    }
    emit m_page->microFocusChanged();
}
开发者ID:,项目名称:,代码行数:36,代码来源:


注:本文中的QWebPageClient::setInputMethodEnabled方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。