IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    在PyQt中集成C++程序的新思路:使用测试环境生成的exe命令框

    52txr发表于 2024-06-09 16:08:00
    love 0

    在PyQt中集成C++的程序一般思路都是调用编译后生成的dll文件,其实有很多的坑。包括生成的dll文件不适配python,找不到函数等等问题。但是在C++环境里确实能正常使用。于是就有了一个想法,为什么不直接使用C++做一个测试环境,用来使用程序的demo。可以在C++程序里做一个很多input的输入,输入了参数之后在进行下一步。

    假设下面是C++生成的exe,作为一个黑乎乎的窗口:

    C++生成的exe

    首先定义一个处理exe文件以及输入参数的函数,例如我定义一个run_dc_exe:

    然后在PyQt界面得到输入的值,例如:

           xingbie = self.ui.xingbieLineEdit.text()      # 通过界面得到性别的值
           xingming = self.ui.xingmingLineEdit.text()    # 通过界面得到姓名的值
           shoujihao = self.ui.shoujihaoLineEdit.text()  # 通过界面得到手机号的值

    完整的调用就是:

        def ZhongxianTiquOKClicked(self):
           xingbie = self.ui.xingbieLineEdit.text()      # 通过界面得到性别的值
           xingming = self.ui.xingmingLineEdit.text()    # 通过界面得到姓名的值
           shoujihao = self.ui.shoujihaoLineEdit.text()  # 通过界面得到手机号的值
            # 检查文件后缀
            try:
                print("尝试运行")
                self.run_dc_exe(xingbie, xingming, shoujihao)
            except:
                msg_box = QMessageBox()
                msg_box.setText("失败,请检查输入参数!")
                msg_box.setWindowTitle("提示")
                msg_box.exec_()

    这样就避免了刻意去使用dll文件带来的各种问题。主要c++生成的exe能正常在电脑上打开运行,那么这么做就相当于用脚本模拟了以下手动输入,还是很nice的!

    在我的集成他人算法的软件项目中,以及成功实践了这个方法!



沪ICP备19023445号-2号
友情链接