[Interest] Fwd: External Application window title is missing in QWindow

Tony Rietwyk tony at rightsoft.com.au
Fri Mar 20 09:41:02 CET 2020


Hi Sujan,

I had thought fromWinId was restricted to only hosting third-party 
window drawing libraries in your own process space, but it is more 
powerful than that.

setCentalWidget parents your external window within the QMainWindow.  
Maybe that tells Windows not to draw the top-level window frame, 
including the title bar and system menu.  I'm not clear what you mean 
about the app menu bar.

To workaround it, I would keep the reference returned by 
createWindowContainer without putting it in your layout, and place a 
dummy transparent widget in the central area instead.  You'll need to 
coordinate the size information and events between the external widget 
and the dummy widget - lookup sizeHint and resizeEvent.  Good luck!

Regards, Tony


On 20/03/2020 5:09 pm, Sujan Dasmahapatra wrote:
> Dear Tony
>
> Thanks for your answer. first of all I am not repeating the question 
> here. It is still a single thread. I am sorry for that.
>
> finally I am still stuck with it. If you or any one could help me I 
> will highly appreciate it.
>
> My code snippet as follows.
>
> QWindow*window=newQWindow;//
> window=QWindow::fromWinId((WId)id);
> QWidget*widget=QWidget::createWindowContainer(window);
> widget->show();
>
> This shows me the external app, that I am launching using qprocess. when I am extracting the app, using FindWindow.
> HWNDid=FindWindow(NULL,L"MyGL");
>
> It is showing in the widget, but menubar is missing,. so the desired result is not what that I want. It's missing the header Name
> and menu bar. Is there any othe way that I can achieve the full app window. I want to see the full app window into the widget
> without missing any component. Let me know some one if any how we can achieve this in Qt.
>
>
> regards
> sujan
>
>
> On Sat, 29 Feb 2020 at 15:25, Sujan Dasmahapatra 
> <yellowlemontree0821 at gmail.com <mailto:yellowlemontree0821 at gmail.com>> 
> wrote:
>
>     Dear Tony
>
>     You're right, I am trying to access two separate apps, to be
>     launched in a single QTabwidget. but how does it matter, since
>     even if I launch in single Widget, it is still not coming. The
>     header title is being correctly used I am able to launch the app.
>     But the app's header and menu bar, are not being launched.
>
>
>     if(process_->waitForStarted(-1))
>
>     {
>
>     //0.002899170.28096-0.180618=343
>
>     HWNDid=FindWindow(0,L"App.exe");
>
>     if(!id)
>
>     return;
>
>     QTimert;
>
>     t.start(2500);
>
>     QWindow*window=QWindow::fromWinId((WId)id);
>
>     QWidget*widget=QWidget::createWindowContainer(window);
>
>     setCentralWidget(widget);
>
>     }
>
>     I am trying it on QMainWindow. And I think FindWindow itself is giving header text and menu less portion. So window and widget none
>
>     is getting it. Can you suggest me what can be done for this.
>
>     regards
>
>     sujan
>
>
>
>
>     On Sat, 29 Feb 2020 at 07:53, Tony Rietwyk <tony at rightsoft.com.au
>     <mailto:tony at rightsoft.com.au>> wrote:
>
>         Hi Sujan,
>
>         It's not clear to me why you want to use fromWinId? Do you
>         want two applications in separate processes to share the same
>         windows?  The title bar and menu are drawn by special win32
>         non-client events - but they may be suppressed, since the
>         window is now being hosted in your app.  With more
>         information, maybe someone can help you - don't just repeat
>         the same details in another post!
>
>         Regards, Tony
>
>
>         On 28/02/2020 11:13 pm, Sujan Dasmahapatra wrote:
>>
>>         Dear Friends,
>>
>>         My External Application Window title, is missing in my
>>         QWindow.  I am trying to set this window on a Widget and
>>         finally I am displaying this widget on QScrollBar. But I am
>>         missing the Window title and menu bar from the app. Please
>>         check the code snippet below.
>>
>>         QWindow* window = QWindow::fromWinId(id);
>>         QWidget* widget = QWidget::createWindowContainer(window);
>>         _gui->scrollArea->setWidget(widget);
>>
>>         With this snippet, I can see the app is launched, but it's
>>         Title header text, is not opening.
>>
>>         Please advise me what is going wrong. I have to see the
>>         window title and most importantly the menu bar as well.
>>
>>         regards
>>         sujan
>>
>>
>>         _______________________________________________
>>         Interest mailing list
>>         Interest at qt-project.org  <mailto:Interest at qt-project.org>
>>         https://lists.qt-project.org/listinfo/interest
>         _______________________________________________
>         Interest mailing list
>         Interest at qt-project.org <mailto:Interest at qt-project.org>
>         https://lists.qt-project.org/listinfo/interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200320/44b484af/attachment.html>


More information about the Interest mailing list