Hi Wilhelm,

On 19 December 2014 at 17:33, Wilhelm <wilhelm.me...@fh-kl.de> wrote:
>
> Hi all,
>
> the following example code looks for the WId of a running kate-process
> and embeds the window into my own application. Thats all fine:
> rendering, resizing, mouse-events (e.g. menus of kate) are all working.
>
> The only problem ist keyboard-focus: kate doesn't get the keystrokes!
>
> I tried various thing like grabKeyboard() etc. (see below) but without
> success.
>
> Any hints!
>
> ---
>
> WId kateId = WindowSystem::findWindow(QRegularExpression("[Kk]ate"));
>
> qDebug() << "kate:" << kateId;
>
> if (kateId) {
>     QWindow* kateWindow = QWindow::fromWinId(kateId);
>     kateWindow->requestActivate();
>     qDebug() << "kate:" << kateWindow;
>     QWidget* kateWidget = QWidget::createWindowContainer(kateWindow, this);
>
>     kateWidget->setFocus();
>     kateWidget->grabKeyboard();
>
>     setCentralWidget(kateWidget);
> }

What OS did you try this on? I encountered this issue on Windows, but
it seemed to be ok for me in Linux (I embedded GEdit successfully,
with keyboard focus working as expected):
https://bugreports.qt-project.org/browse/QTBUG-40320

createWindowContainer() was designed primarily for embedding
QQuickView in a QWidget, and it hasn't been fully polished/tested for
other use cases.


Regards,
Sze-Howe
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to