⑴ QT中調用python
如果你是嵌入的話,應該沒問題。python的庫會暴露c api的,你的qt程序照著python文檔中的embedded章節就好。 看樣子,你的是linux下的,不過一般頭文件就是include/python.h,怎麼會是include/python2.7呢?你寫錯了吧。庫文件應該是在lib下面。
⑵ 怎樣用QtCreator編輯運行python腳本
不知道你是在Windows還是在linux系統上
在windows上面先 Win+R 然後 進入CMD 命令行-> 輸入:cd py文件的目錄
進入你py文件所在的目錄後 輸入:python 腳本文件名.py 就可以運行了
在linux下,模擬終端輸入:python 然後把你的腳本拖進命令行就可以運行了
⑶ 用C++/Qt 寫Python調試器遇到的問題
在C++中,「類函數指針」和傳統的「函數指針」,是兩個完全不同的東西。
你取一個類的成員函數的地址,得到的是一個類函數指針,也叫成員函數指針。即使你的成員函數定義看起來和普通函數原型完全一樣,它也和這個原型的普通函數指針完全不同,彼此之間不能轉換。
PyEval_SetTrace要求傳入的是一個傳統的函數指針,你傳入一個類函數指針,當然是不行的。編譯器報錯是說無法將一個類函數指針轉換為函數指針。
C++的類函數指針,是一個非常難用的東西,有非常多奇怪的特性,而且不同編譯器對它的支持大不相同,是C++著名的復雜性來源之一,建議不要使用。
你想要的東西,實際上是一個「委託」的概念,不過可惜的是C++並不支持委託。使用boost::function可以實現類似功能,但python的C API介面卻不支持boost::function,所以也不行。
你這種情況,最簡單的方法還是用傳統的函數指針,使用普通函數包裝下類的成員函數,然後把普通函數的指針傳給python。
⑷ C調用Python模塊傳參的問題 [
Py_BuildValue()函數可以和PyArg_ParseTuple()函數一樣識別一系列的格式串,但是輸入參數只能是值,而不能是指針。參考官方文檔https://docs.python.org/2/c-api/arg.html?highlight=py_buildvalue#Py_BuildValue
⑸ 關於qt+pyqt開發中python的immutable參數傳遞
# a.py
import b
class Window(QMainWindow):
def __init__(self,parent):
........# super function here
self.f = file('/home/somefile.txt')
self.ui.btn_go.clicked.connect(self.onBtnGo)
........
def onBtnGo(self):
self.result = b.func(self.f)
# file:b.py
def func(f):
result = do_some_sub_with_f_here(f)
return result
⑹ Qt中怎麼可以使用python嗎
這個看你要求了,如果只是單純調用,和Qt沒什麼關系,直接看python手冊中C、C++調用python相關的內容就行了。
如果你的python代碼中還需要操作Qt相關的東西,那麼你需要的 PythonQt 這個第三方的模塊(概念上類似於Qt自己的QtScript模塊)
⑺ 如何在QT中調用python 我有一個QT的程序,想要調用python的一些腳本,該怎麼做呢
C語言中怎麼調就怎麼調,python文檔中有簡單的例子,自己看著辦就行了。