当光标放在 wxTextCtrl 上时调用屏幕键盘的最佳方法是什么?

What is the best way to invoke a onscreen keyboard when cursor placed on a wxTextCtrl?

我正在尝试使用 wxWidgets(版本 3.0.4)设计一个 GUI 触摸屏应用程序。触摸屏工作正常。我需要使用屏幕键盘来填充文本框 (wxTextCtrl)。

我进行了一些搜索,但没有找到 wxTextCtrl 可用的任何 setfocusgetfocus 函数。我也找不到任何指示光标已放置在文本字段中以便我可以调用屏幕键盘的事件。

是否有可用的库或者我是否需要实现我自己的键盘版本?

wxExecute 函数成功了。我能够成功获得反馈 在 wxwidget 应用程序中,通过 xvkbd 执行的按键操作。示例代码如下:

this->main_frame->text_field->Connect(wxEVT_SET_FOCUS,wxFocusEventHandler(InvokeKeyboard), NULL, this);

void InvokeKeyboard(wxFocusEvent& event)
{
    event.Skip();
    system("killall xvkbd 1>/dev/null 2>/dev/null");
    wxExecute(wxT("xvkbd > /dev/null 2>/dev/null"), wxEXEC_ASYNC | wxEXEC_NODISABLE | wxEXEC_HIDE_CONSOLE );
}

wxExecute

的详细文档可以参考here