相关文章推荐

在Python GUI(PyQt)中运行一个外国的exe。

8 人关注

我想在一个Python界面(Python 2.7 | Windows | PyQt)中运行一个exe(例如calc.exe或cmd.exe)。 有谁知道我怎么做呢? (类似这样的事情。 https://www.youtube.com/watch?v=N6GWgxEvibE )

提前感谢大家。

5 个评论
这是否必须在PyQt4中工作,或者你可以使用PyQt5?我想你可能需要后者来让它在Windows上工作。(我想你问的是在你自己的应用程序中嵌入外部窗口的问题)。
SDE
我怎样才能用PyQt5制作它?我想把cmd.exe包含在里面。在linux中,我用xterm做了这个,并成功地把它装进了一个qwidget。但在windows下,这并不奏效:(.先谢谢你了。
你说的在Python界面中运行一个exe是什么意思?
@SDE 在你的应用程序中嵌入另一个应用程序的窗口,比起将另一个应用程序作为一个单独的进程来启动,它能提供什么?
SDE
@Schollii 是的。它应该像我在上面发布的Youtube链接那样工作。我现在已经改成了pyqt5。
python
python-2.7
pyqt
pyqt4
SDE
SDE
发布于 2017-01-05
1 个回答
chanbiao
chanbiao
发布于 2017-05-11
已采纳
0 人赞同
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 create a process, run your exe
  • 02 use spy++ to get hwnd of the exe
  • 03 create QWindow from hwnd
  • 04 create window container
  •  
    推荐文章