import sys
import win32gui
from PyQt5.QtGui import QWindow
from PyQt5.QtWidgets import QWidget, QApplication, QVBoxLayout,QPushButton
class Example(QWidget):
def __init__(self):
super().__init__()
hwnd1 = win32gui.FindWindowEx(0, 0, "WeChatMainWndForPC", "微信")#微信窗口的类名和标题
window = QWindow.fromWinId(hwnd1)
btn = QPushButton()
btn.setText("这是一个按钮")
self.layout = QVBoxLayout()
widget = self.createWindowContainer(window,self)
self.layout.addWidget(btn)
self.layout.addWidget(widget)
self.setLayout(self.layout)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
前提是让微信exe在后端运行,上述代码实现的功能:将微信exe程序嵌入到pyqt5界面中。
微信窗口的类名和标题参考博客:Qt嵌入外部EXE程序,并显示在主界面中!_小鸟想吃虫的博客-CSDN博客_qt嵌入外部程序
运行效果见下图