J'essaie d'intégrer une fenêtre IE dans un QFrame
en utilisant QProcess
pour appeler l'application IE. Je travaille sur Win7 32bit en utilisant Qt 5.2.1.Intégration de la fenêtre IE à l'intérieur d'un QFrame
J'ai essayé les approches suivantes
Essayez de mettre le parent du processus d'être le cadre, au lieu du MainWindow par cette
QProcess *process = new QProcess(ui->frame_Video);
ET par ce
QProcess *process = new QProcess(ui->frame_Video);
process->setParent(ui->frame_Video);
Puis j'ai essayé t o utilisez la méthode QWidget::createWindowContainer()
. Ceci est le flux de travail que j'ai essayé de suivre:
Obtenez le wid de la fenêtre IE (en utilisant le hWnd de la fenêtre IE ou une autre méthode) Utilisez le QWindow::fromWinID()
pour créer un Qwindow
passer le QWindow
dans QWidget::createWindowContainer()
Mes questions:
- Est-il possible d'intégrer une fenêtre IE dans une application Qt?
- En ce qui concerne ma première méthode, comment puis-je faire d'un objet QFrame un objet parent d'un processus Q?
- La troisième méthode est-elle valide? (Je dois encore trouver comment convertir le hWnd en IFD)
Je ne pense pas que 'QProcess' implémente quelque chose pour l'intégration. Il exécute un processus distinct (application) à partir de votre application Qt. Vous pouvez essayer de regarder 'QAxWidget' à la place. – vahancho
Une application (comme IE) peut-elle être exécutée en tant qu'objet de contrôle ActiveX? – user3079474
@ user3079474 Oui, et c'est ce que vous voulez faire, et vous devriez utiliser le module activeqt pour cela. –