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 6.11 is out! See what's new in the release blog

QT結合python

Scheduled Pinned Locked Moved Unsolved Chinese
17 Posts 3 Posters 9.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.
  • 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