2013-07-02 178 views
1

以下是previous question的后续操作。提高QT QEvent :: WindowActivate事件

我已经有一个Qt对话窗口,其中包含一个QPlainTextEdit窗口小部件,为此我创建了一个软件输入面板(SIP),遵循示例here。在这个例子中,输入小部件,例如QPlainTextEdit,必须点击两次才能显示SIP。这是因为(请参阅示例)QEvent::WindowActivate事件不会引发QPlainTextEdit被点击。

我正在考虑的解决方法是在QPlainTextEdit获得焦点时提高QEvent::WindowActivate事件。因此,我想知道如何才能提出QEvent::WindowActivate事件以及如何这样做 - 假设解决方法有意义。

回答

2

实测值的溶液,在qt-project.org forum

QEvent event(QEvent::RequestSoftwareInputPanel); 
QApplication::sendEvent(newFocus, &event);