当用户在网页中选择输入文本字段时,我需要显示一个虚拟键盘。此代码在机顶盒上运行。
我正在扩展 QWebView,它正在创建一个新的键盘小部件作为孩子。
WebView::WebView(QWidget* parent = 0): QWebView(parent)
{
WebPage *page = new WebPage(this);
this->m_keyboard = new widgetKeyBoard(this, Qt::Window|Qt::CustomizeWindowHint);
this->m_keyboard->createKeyboard();
this->m_keyboard->hide();
connect(this, SIGNAL(launchVirtualKB(WebView *) ), SLOT(launchKeyboard(WebView *)));
}
widgetKeyBoard 由带有许多子 QKeyPushButton 的 QGridLayout 组成。
当我展示键盘时,我看到整个键盘被简单地绘制,然后从下面的网页覆盖了 30% 的键盘(在输入字段附近被覆盖)。我试图为 webview 和 mainwindow 重新绘制,但仍然看到其他人正在覆盖。
什么可能导致这样的问题。我正在使用 QT4.8。