QCefView icon indicating copy to clipboard operation
QCefView copied to clipboard

[BUG]: 在Linux下 NCW 模式下无法输入中文问题。

Open ravenq opened this issue 1 year ago • 6 comments

Describe the bug 【Bug描述】

... 在Linux下 NCW 模式下无法输入中文问题。

To Reproduce 【复现步骤】

在Linux下 NCW 模式下无法输入中文,原因是开启了多线程消息循环 multi-thread-message-loop(看了很多issue 感觉是CEF 消息循环没有输入法环境的问题,但是这个这个问题在CEF社区很多年了一直没解决)

但是经测试,不使用多线程消息循环 + QT Application::exec() 消息循环,则无法显示页面,如下:

image

如果,不使用多线程消息循环 + CEF 自身的消息循环CefRunMessageLoop() 则页面可以渲染,但是QT 相关的都行都不渲染了。甚至关闭按钮都失效了(感觉像CEF消息循环没有投递到QT环境?) 注意:下图左边是QT渲染部分

image

Expected behavior 【正确的预期行为】

...

Screenshots 【截图】

...

Environment 【BUG产生的环境】

  • OSR/NCW Mode: NCW
  • OS & Version: [e.g. Windows/macOS/Linux] Linux 统信UOS专业版
  • Qt Version: qt5.11.3
  • CEF Version: 102 113 120 119

Additional context 【更多额外信息】

搜狗输入法和统信自带的输入法效果都一样,当前没有ubutun资源,改天我试试ubuntu下会如何

...

ravenq avatar Jan 10 '24 04:01 ravenq

相关bug #20 #291 #262

https://github.com/chromiumembedded/cef/issues/3474 https://github.com/chromiumembedded/cef/issues/1813 https://github.com/chromiumembedded/cef/issues/2039 https://github.com/ONLYOFFICE/DesktopEditors/issues/8

ravenq avatar Jan 10 '24 05:01 ravenq

用 external_message_loop 模式能解决这个问题

ravenq avatar Jan 22 '24 03:01 ravenq

用 external_message_loop 模式能解决这个问题

@L-Super 可以尝试改变一下线程模式,目前只有macOS使用了external_message_loop模型。 我有空也尝试改造一下

tishion avatar May 16 '24 02:05 tishion

用 external_message_loop 模式能解决这个问题

@L-Super 可以尝试改变一下线程模式,目前只有macOS使用了external_message_loop模型。 我有空也尝试改造一下

OK

L-Super avatar May 16 '24 03:05 L-Super

linux下换成external_message_loop,cpu占用100%。

tonyzhou1985 avatar Jan 07 '25 06:01 tonyzhou1985

好像还真是,大佬们有啥办法不

ravenq avatar Jan 17 '25 03:01 ravenq

同样的问题(Linux & CEF102版本): 1.multi-thread-message-loop=true,无法切换输入法、上传、下载文件无法唤起系统原生窗口; 2.external_message_loop=true,可以切换输入法、上传、下载文件可唤起系统原生窗口,cpu占用100%。 求解决方案

ljg2414966411 avatar Oct 13 '25 13:10 ljg2414966411

https://github.com/CefView/QCefView/commit/660a45ad15bf96e2b552bb1b03aacdd5d9cc34bf

这个应该修复了,100%是因为之前的测试代码使用的是interval是0,忘了改回来。

tishion avatar Oct 13 '25 14:10 tishion