2

以下是对上一个问题的后续。

我有一个 Qt 对话框窗口,其中包含一个QPlainTextEdit小部件,我按照此处的示例创建了一个软件输入面板 (SIP) 。在此示例中QPlainTextEdit,必须单击两次输入小部件(例如 )才能显示 SIP。这是因为(参见示例)QEvent::WindowActivate事件未引发QPlainTextEdit单击。

我正在考虑的解决方法是在获得焦点QEvent::WindowActivate时引发事件。QPlainTextEdit因此,我想知道是否可以引发QEvent::WindowActivate事件以及如何这样做——假设解决方法是有意义的。

4

1 回答 1

2

在 qt-project.org论坛上找到了解决方案

QEvent event(QEvent::RequestSoftwareInputPanel);
QApplication::sendEvent(newFocus, &event);
于 2013-07-03T15:07:21.820 回答