我可以在pyqt中运行.exe文件吗?

时间:2018-03-27 01:07:22

标签: c++ python-3.x qt user-interface pyqt

我想在pyqt中放置一个.exe文件,该文件是使用Qt设计器设计的。我设法显示openCV捕获的视频。但是这次视频捕获文件被转换为可执行文件。我想运行.exe文件并在pyqt UI中显示输出。我已经尝试使用os模块打开一个可执行文件,其中它打开它,但它不在创建的Qlabel小部件内。有没有办法把它放在UI中?谢谢

更新:我已完成研究,但我所看到的只是C ++中的Qt

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    QWindow *window = QWindow::fromWinId(125829124);
    QWidget *widget = QWidget::createWindowContainer(window);
    widget->setParent(this);
    QVBoxLayout *layout = new QVBoxLayout();
    layout->addWidget(widget);
    this->setLayout(layout);
}

我曾尝试使用此代码,但窗口仍然不在UI中。

class Program(QMainWindow):
def __init__(self):
    super().__init__()
    exePath = "/home/liva/app.exe"
    subprocess.Popen(exePath)
    hwnd = 3800003 #the window id of the app.exe
    self.window = QWindow.fromWinId(hwnd)
    self.setWindowFlags(Qt.FramelessWindowHint)
    self.widget = QWidget.createWindowContainer(self.window,self)
    self.widget.resize(300, 300)
    self.widget.move(400, 300)
    print(self.window.parent())
    layout = QVBoxLayout()

    layout.addWidget(self.widget)
    self.setLayout(layout)

    self.setGeometry(100, 100, 900, 900)
    self.setWindowTitle('UI')
    self.show()

0 个答案:

没有答案