很蛋疼的一个问题,解决方案其实简单的要死,但是在网上找答案怎么都找不到,废话不多说,直接上代码
首先,新建一个继承自UWebBrowser的C++类
class WebBrowser : public UWebBrowser
然后在里面搞一个方法
void UC_WebBrowser::RefreshInputMethod()
{
if (WebBrowserWidget.IsValid())
{
ITextInputMethodSystem*inputSystem = FSlateApplication::Get().GetTextInputMethodSystem();
if (inputSystem)
{
WebBrowserWidget->UnbindInputMethodSystem();
WebBrowserWidget->BindInputMethodSystem(inputSystem);
}
else
{
UE_LOG(LogTemp, Warning, TEXT("Input Method System is not valid"));
}
}
}
写完这个方法之后只要在
这个位置调用一下,或者自己找别的地方调用都可以,
搞定。最后,上一个效果图

博客分享了一个问题的解决方案,通过新建一个继承自UWebBrowser的C++类,并在其中编写RefreshInputMethod方法,实现刷新输入方法的功能。方法中对输入系统进行判断和绑定操作,最后调用该方法即可解决问题。
3215





