Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. QT結合python
Forum Updated to NodeBB v4.3 + New Features

QT結合python

Scheduled Pinned Locked Moved Unsolved Chinese
17 Posts 3 Posters 8.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    MemphisWang
    wrote on last edited by
    #2

    不跨平台的话, 建议将 python code 编译成可执行文件来调用.

    K 1 Reply Last reply
    0
    • M Offline
      M Offline
      MemphisWang
      wrote on last edited by
      #3

      Qt + Python, 本质上是 Python 对 C 语言的嵌入. 如果真的有这个需求的话, 可以去查阅 Python 文档中和 C 语言结合的相关资料. 我个人不建议使用这种方式, 从 C 代码中配置 Python_Home 到发布时的库部署都有很坑的地方, 可能会浪费到你一周的时间.

      1 Reply Last reply
      0
      • Z Offline
        Z Offline
        ZiJia
        wrote on last edited by
        #4

        Here is a link about using C++ to call Python function.

        I don't know if you are able to visit it.

        http://www.cnblogs.com/shenghl/p/4442528.html

        K 1 Reply Last reply
        0
        • Z ZiJia

          Here is a link about using C++ to call Python function.

          I don't know if you are able to visit it.

          http://www.cnblogs.com/shenghl/p/4442528.html

          K Offline
          K Offline
          kerwin
          wrote on last edited by
          #5

          @ZiJia i use qt creator, when i click buttonckick, but Directly over.
          Can not be displayed on the interface(label)

          1 Reply Last reply
          0
          • M MemphisWang

            不跨平台的话, 建议将 python code 编译成可执行文件来调用.

            K Offline
            K Offline
            kerwin
            wrote on last edited by
            #6

            @MemphisWang 我是已經有好了,但是我不會拿來調用,我有用popen的參數,可是因為Python那邊有持續執行的關係,導致資料無法回傳
            我想使用這個 https://github.com/Harper04/Python-for-TI-CC2540

            M 1 Reply Last reply
            0
            • K kerwin

              @MemphisWang 我是已經有好了,但是我不會拿來調用,我有用popen的參數,可是因為Python那邊有持續執行的關係,導致資料無法回傳
              我想使用這個 https://github.com/Harper04/Python-for-TI-CC2540

              M Offline
              M Offline
              MemphisWang
              wrote on last edited by
              #7

              @kerwin 我理解, 可能我之前没有表达明白:

              1. 这是一个 python 问题, 你可以通过查阅 python 文档中, 和 C 交互的相关内容来获得帮助, 而不是求助 Qt 社区.
              2. Python 的库部署有挺多坑要踩的, 两个平台都会遇到不同的问题, 祝你好运.
              K 1 Reply Last reply
              0
              • M MemphisWang

                @kerwin 我理解, 可能我之前没有表达明白:

                1. 这是一个 python 问题, 你可以通过查阅 python 文档中, 和 C 交互的相关内容来获得帮助, 而不是求助 Qt 社区.
                2. Python 的库部署有挺多坑要踩的, 两个平台都会遇到不同的问题, 祝你好运.
                K Offline
                K Offline
                kerwin
                wrote on last edited by
                #8

                @MemphisWang 謝謝您,因為我是想在QT上去運用python. 想說這邊會不會有相關資源. 因為python的論壇,他們也不太知道QT怎麼去完成.所以不知道該從哪裡去尋問

                M 1 Reply Last reply
                0
                • K kerwin

                  @MemphisWang 謝謝您,因為我是想在QT上去運用python. 想說這邊會不會有相關資源. 因為python的論壇,他們也不太知道QT怎麼去完成.所以不知道該從哪裡去尋問

                  M Offline
                  M Offline
                  MemphisWang
                  wrote on last edited by
                  #9

                  @kerwin 是这样的, 这个问题可能 qt 论坛和 python 论坛都很少提供相关信息, 不过它的本质是 python/c 的, 实现由 python 负责提供.
                  你可以主要参考这个文档: https://docs.python.org/2/c-api/intro.html#embedding-python
                  结合类似的具体实现: http://www.tuicool.com/articles/NZjq2qJ
                  关于部署可以参考我的个人博客: http://www.memphis.wang/2017/03/14/Qt-C-跨平台集成-Python-with-site-package-完全指南/
                  更多的信息可以继续联系我, 我在端午假期可能会比较有时间, 可以给你展示一下我在 Qt 项目中的 python 调用, 有一些细节可以跟你交代一下

                  K 1 Reply Last reply
                  0
                  • Z Offline
                    Z Offline
                    ZiJia
                    wrote on last edited by
                    #10

                    如果你的需求是"如何通过Qt Creator调用自定义的python函数?",那我提供给你的链接已经完全可以解决这个问题了.

                    如果不是,那么首先你要描述的应该是,你要达到的目的是什么(不是你说什么就是什么,你要从别人的角度出发,让别人明白你要干什么).

                    举个例子:
                    "Can not be displayed on the interface(label)",我想没人能够明白你究竟是要说什么.

                    K 1 Reply Last reply
                    0
                    • M MemphisWang

                      @kerwin 是这样的, 这个问题可能 qt 论坛和 python 论坛都很少提供相关信息, 不过它的本质是 python/c 的, 实现由 python 负责提供.
                      你可以主要参考这个文档: https://docs.python.org/2/c-api/intro.html#embedding-python
                      结合类似的具体实现: http://www.tuicool.com/articles/NZjq2qJ
                      关于部署可以参考我的个人博客: http://www.memphis.wang/2017/03/14/Qt-C-跨平台集成-Python-with-site-package-完全指南/
                      更多的信息可以继续联系我, 我在端午假期可能会比较有时间, 可以给你展示一下我在 Qt 项目中的 python 调用, 有一些细节可以跟你交代一下

                      K Offline
                      K Offline
                      kerwin
                      wrote on last edited by
                      #11

                      @MemphisWang 了解,我可以進行調用,但我改到QT widgets application上的button去執行並回傳結果回QT介面上的label.settext去顯示結果,可是目前只要一按下button,會立刻結束執行。不知道是哪裡上設定的問題

                      M 1 Reply Last reply
                      0
                      • Z ZiJia

                        如果你的需求是"如何通过Qt Creator调用自定义的python函数?",那我提供给你的链接已经完全可以解决这个问题了.

                        如果不是,那么首先你要描述的应该是,你要达到的目的是什么(不是你说什么就是什么,你要从别人的角度出发,让别人明白你要干什么).

                        举个例子:
                        "Can not be displayed on the interface(label)",我想没人能够明白你究竟是要说什么.

                        K Offline
                        K Offline
                        kerwin
                        wrote on last edited by
                        #12

                        @ZiJia 類似的範例,但我想在QT widgets application上的button完成,將helloworld回傳至label.settext上顯示。目前我將相關移至button,但只要按下按鈕瞬間,會直接結束程式,不知道是哪裡設定錯誤?
                        不好意思,英文不是很好。

                        1 Reply Last reply
                        0
                        • K kerwin

                          @MemphisWang 了解,我可以進行調用,但我改到QT widgets application上的button去執行並回傳結果回QT介面上的label.settext去顯示結果,可是目前只要一按下button,會立刻結束執行。不知道是哪裡上設定的問題

                          M Offline
                          M Offline
                          MemphisWang
                          wrote on last edited by
                          #13

                          @kerwin
                          哈哈, 这就是我说的会遇上很多坑的地方.
                          这种情况通常是对 python 的调用失败了, 底层发生了崩溃, 导致整个程序退出. 原因可能是你对 Python 调用的代码中, 没有设置好相关的环境信息. 这里你要小心定位一下, 通过各种输出日志的方式, 看看走到哪一环节了.
                          越往后走越有恶心的地方, 这才刚刚开始, 我的建议还是保持不变, 换条路试试. 想继续前进的话, 那先祝你好运.

                          K 1 Reply Last reply
                          1
                          • M MemphisWang

                            @kerwin
                            哈哈, 这就是我说的会遇上很多坑的地方.
                            这种情况通常是对 python 的调用失败了, 底层发生了崩溃, 导致整个程序退出. 原因可能是你对 Python 调用的代码中, 没有设置好相关的环境信息. 这里你要小心定位一下, 通过各种输出日志的方式, 看看走到哪一环节了.
                            越往后走越有恶心的地方, 这才刚刚开始, 我的建议还是保持不变, 换条路试试. 想继续前进的话, 那先祝你好运.

                            K Offline
                            K Offline
                            kerwin
                            wrote on last edited by
                            #14

                            @MemphisWang 謝謝您,這真的是無解的坑,要慢慢往前找。謝謝

                            1 Reply Last reply
                            0
                            • Z Offline
                              Z Offline
                              ZiJia
                              wrote on last edited by
                              #15
                              This post is deleted!
                              M 1 Reply Last reply
                              0
                              • Z ZiJia

                                This post is deleted!

                                M Offline
                                M Offline
                                MemphisWang
                                wrote on last edited by
                                #16

                                @ZiJia 放轻松, 放轻松. 从 @kerwin 的说话方式来看, 应该是湾湾同胞. 两岸在计算机上的发展都在解放后, 很多说话方式, 词汇用法, 潜台词都不太一样, 出现看起来别扭的情况总是会出现. 咱们互相之间应该多些理解和沟通, 把问题说明清楚. 有一些心情上的负能量还是克制一下.
                                @kerwin 你提问题的方式有待改进, 多些同理心, 假设我们对你目前的状况完全不知情的情况下, 把问题描述清楚. 推荐阅读一篇译文: http://memphis.wang/2017/02/17/提问的艺术/

                                K 1 Reply Last reply
                                1
                                • M MemphisWang

                                  @ZiJia 放轻松, 放轻松. 从 @kerwin 的说话方式来看, 应该是湾湾同胞. 两岸在计算机上的发展都在解放后, 很多说话方式, 词汇用法, 潜台词都不太一样, 出现看起来别扭的情况总是会出现. 咱们互相之间应该多些理解和沟通, 把问题说明清楚. 有一些心情上的负能量还是克制一下.
                                  @kerwin 你提问题的方式有待改进, 多些同理心, 假设我们对你目前的状况完全不知情的情况下, 把问题描述清楚. 推荐阅读一篇译文: http://memphis.wang/2017/02/17/提问的艺术/

                                  K Offline
                                  K Offline
                                  kerwin
                                  wrote on last edited by
                                  #17

                                  @MemphisWang 好的 謝謝你,我是學生,正在努力學習,謝謝你提供相當多的好文章,我會學習的,還有很多不足的地方,還請多包涵

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved