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

QT結合python

Scheduled Pinned Locked Moved Unsolved Chinese
17 Posts 3 Posters 8.2k Views
  • 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.
  • K Offline
    K Offline
    kerwin
    wrote on last edited by
    #1

    想請教各位,我有寫好一個python code
    但我想在QT creater上做使用 ,我有看到可以匯入python語言,但我該怎麼去呼叫做使用?

    1 Reply Last reply
    0
    • 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