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
    #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