Is it possible to run a non-Qt application or Qt Creator inside of a QWidget
-
Hi, I just came up with an idea to create a fake desktop for Qt, written in Qt. I was thinking I would either run a window or a desktop widget and somehow incorporate Qt Creator to open in the widget. Though I don't know if it's possible or how to do it.
Note
- I would prefer to put it on a widget that could go on the screen, so a QDesktopWidget or (less preferred) QMainWindow
- I want to run it so whatever widget I chose the application can't leave the widget
-
Hi
Well its very platform bound.
On linux some apps allows for -wid parameter.
Like xterm .
On windows, some apps offer COM interface for embedding.You have the source for Creator so that could be possible but huge work.
There is also
https://stackoverflow.com/questions/33699258/qt-5-5-embed-external-application-into-qwidget
(createWindowContainer) -
Hi
Update
i think you can get the winID for external app with
GetWindowThreadProcessId(hWnd, &dwWndProcID);
printf("WinID %d\n", dwWndProcID);
(native calls)
But i have not tested it :)You might need to dig into the win API docs to find out how to grab the ID for embedding.
Note, i have not tried createWindowContainer myself but it seems to be working for others. -
Hi,
Do you want to implement some sort of Kiosk mode ?
-
Err...
What's Kiosk mode? -
Standard computer with one front facing application e.g. ATM, Train station information panel etc.
-
Sorry if I just don't understand that. I am 13. Can you describe it a bit more simpler
-
I'd recommend this article for a start and then this one.
Basically, it's a computer usually with one application running that the user can't quit. One of the most simple example is a computer at an exhibition that shows a presentation non-stop all day long.
-
Yes, that is what I am trying to make.
-
Are you targetting a device or a computer ?
-
Computer. I also don't want to use QML, just C++
-
QML can also be used on computers. Anyway, the article I linked to should give you some pointers about the subject and how to implement it.