在QT 4.8.4中,我通过c ++中的回调执行了一些任意的Javascript:
myWebElement->evaluateJavaScript( myScript );
Run Code Online (Sandbox Code Playgroud)
现在,测试脚本是:
$(this).css('border', 'solid 10px #000')
Run Code Online (Sandbox Code Playgroud)
哪个工作,但它花了几秒钟运行,并100%运行CPU .
然后在测试时我添加了"; console.log('X')",同时调试脚本以查看指向挂断...并立即执行!
我发现只要我登录到控制台,脚本就会按预期有效地工作.一旦删除控制台日志记录,性能就会慢慢爬行.如果我直接在脚本中记录,或者在C++中添加日志,则无关紧要.
有任何想法吗?我讨厌在我的程序中有一个像下面这样的黑客.
myWebElement->evaluateJavaScript( myScript + "; console.log('X')" );
Run Code Online (Sandbox Code Playgroud)
更新:
看起来这个bug会受到页面上元素数量的影响.有一个表,在只有一两行没有CPU启动的情况下.当有600行时,CPU使用率会有几秒钟的最大值.尽管如此,一旦有一个console.log命令,即使有600行也没有CPU启动.
(还在问题中添加了版本信息)
更新2:
经过测试,我不需要将任何东西传递到控制台以便黑客工作,我甚至不需要调用日志.我可以追加";控制台;" 到脚本,它仍然会立即工作.我还测试过在最后添加一个return语句,但是没有用.
在Qt中有没有办法添加布局或小部件QMenu来创建自定义菜单?
下面的示例(左)是我的,我想通过添加非菜单小部件来瞄准类似于右侧模型的东西.如果无法完成QMenu,是否有指南可以在任何地方产生类似的结果(可能通过将更标准的小部件作为上下文菜单)?
