Qt QML Webview使用x偏移渲染选定图元

Qt QML Webview使用x偏移渲染选定图元,qt,webview,qml,Qt,Webview,Qml,我目前正在实现一个WebView,它包含一个页面,页面上有一个select表单元素。每当我点击选择框时,包含可能值的对话框就会出现在页面之外 该对话框不以WebView或父级为中心。在模拟器上,它显示在网页下拉框的正下方,但太宽,无法在屏幕上显示(遮挡了滚动条),在设备上,它显示在屏幕的左下角 有人有这方面的经验吗?我只是使用QML WebView项,它不在Flickable中(我最初认为这是问题所在) 背景与调查 渲染的两种方法: 一个使用Qt QWebview并在模拟器上运行的简单项目给出了

我目前正在实现一个WebView,它包含一个页面,页面上有一个select表单元素。每当我点击选择框时,包含可能值的对话框就会出现在页面之外

该对话框不以WebView或父级为中心。在模拟器上,它显示在网页下拉框的正下方,但太宽,无法在屏幕上显示(遮挡了滚动条),在设备上,它显示在屏幕的左下角

有人有这方面的经验吗?我只是使用QML WebView项,它不在Flickable中(我最初认为这是问题所在)

背景与调查 渲染的两种方法:

一个使用Qt QWebview并在模拟器上运行的简单项目给出了以下结果:

注意:选择菜单是窗口的全宽

使用以下QML的简单项目:

import QtQuick 1.0
import QtWebKit 1.0

Rectangle {
    anchors.fill: parent

    WebView {
            anchors.fill: parent
            url: "http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option"
    }
}
将产生以下结果:

我做错了什么?我需要对QML做什么才能使其正确呈现菜单?

确定。这感觉不对

我不敢相信我的董事会上有这样一个故事:“作为一个Qt用户,我可以从一个长长的列表中选择值”

因此,我的解决方案是使用
evaluateJavascript
将一大块Javascript注入到Webview中,它会在DOM中爬行以查找所选元素

单击选择后,使用选项列表调出QML,然后呈现选择框的QML版本

回程比较简单,但同样没有吸引力

我尝试向select元素添加一个click或tap侦听器,但是domapi不完整(将尝试并找到一个规范链接),并且我尝试的任何操作都不会触发处理程序。最后,我将它隐藏起来,并在其位置插入一个按钮

一定有更好的办法。

好的。这感觉不对

我不敢相信我的董事会上有这样一个故事:“作为一个Qt用户,我可以从一个长长的列表中选择值”

因此,我的解决方案是使用
evaluateJavascript
将一大块Javascript注入到Webview中,它会在DOM中爬行以查找所选元素

单击选择后,使用选项列表调出QML,然后呈现选择框的QML版本

回程比较简单,但同样没有吸引力

我尝试向select元素添加一个click或tap侦听器,但是domapi不完整(将尝试并找到一个规范链接),并且我尝试的任何操作都不会触发处理程序。最后,我将它隐藏起来,并在其位置插入一个按钮


必须有更好的办法。

你找到解决问题的办法了吗?这就是bug:这是另一个bug。该错误是关于所选项目在您进行选择后没有更改。这是呈现菜单本身的问题。这不太可能仍然是一个问题,尽管这是在基于诺基亚Qt的手机上发生的,它们已经不再生产了。你找到解决问题的方法了吗?这就是bug:这是另一个bug。该错误是关于所选项目在您进行选择后没有更改。这是呈现菜单本身的问题。这不太可能仍然是一个问题,尽管这是在基于诺基亚Qt的手机上发生的,他们不再生产这种手机了。