2017-01-04 4 views
1

Я хочу запустить exe (например, calc.exe или cmd.exe) внутри python gui (python 2.7 | Windows | PyQt). У кого-нибудь есть идея, как я могу это сделать? (что-то вроде этого: https://www.youtube.com/watch?v=N6GWgxEvibE)Запуск внешнего exe внутри GUI Python (PyQt)

Спасибо за все.

+0

Должно ли это работать в PyQt4 или вы можете использовать PyQt5? Я думаю, вам может понадобиться последний, чтобы заставить это работать в Windows. (Я предполагаю, что вы спрашиваете о встраивании внешних окон в свое приложение). – ekhumoro

+0

Как я могу сделать это с PyQt5? Я хочу включить там cmd.exe. В linux я сделал это с помощью xterm и удачно вписал его в qwidget. Но в окнах это не работает :(Thx заранее. – SDE

+0

Что вы подразумеваете под управлением exe внутри python gui? – Trilarion

ответ

3
import subprocess 
import time 
import win32gui 

... 

def initUI(self): 
    # create a process 
    exePath = "C:\\Windows\\system32\\calc.exe" 
    subprocess.Popen(exePath) 
    hwnd = win32gui.FindWindowEx(0, 0, "CalcFrame", "计算器") 
    time.sleep(0.05) 
    window = QWindow.fromWinId(hwnd) 
    self.createWindowContainer(window, self) 
    self.setGeometry(500, 500, 450, 400) 
    self.setWindowTitle('File dialog') 
    self.show() 

... 
  • 01 создать процесс, запустите ваш ехе
  • 02 использование Spy ++, чтобы получить HWND из ехе
  • 03 создать QWindow из HWND
  • 04 создать окно контейнера

Результат:

потерять exe'menu

Смежные вопросы