也許這是一個非常愚蠢的問題,但我希望你能給我一些答案。可能:執行Qt3和Qt4代碼的程序?
我有一個商業應用程序,它的GUI和一個嵌入式Python解釋器(命令行)使用Qt3編寫腳本。我想爲使用Qt4的這個應用程序編寫一個自定義插件。該插件主要是一個子類QMainWindow類,它連同一個dll(所以我在Windows上)以及一個boost python包裝器。 python包裝應該是我的插件和我的商業應用程序之間的接口。
所以我的問題:這可能嗎?因此,在同一應用程序中運行獨立於運行Qt4代碼的Qt3代碼。
第一實驗導致應用程序關閉,我會嘗試這進一步調查...
謝謝!
編輯: 我的應用程序崩潰了,因爲我沒有創建QT4 qapplication實例。所以當我創建實例時,沒有額外的Qt命名空間(這是在答案中建議的,所以不需要重新編譯),一切正常。 ;)
好酷,我重新編譯Qt的命名空間「QT4」,我證明這個命名空間通過依賴walker工具鏈接到qt dll中。但是像「#define QT_NAMESPACE QT4」之類的名稱空間定義從未出現在qt頭文件之一中,因此QT_NAMESPACE未定義。你有這個行爲的答案嗎? 我在「qglobal.h」的開頭手動定義了命名空間,它似乎到目前爲止工作... – 2009-05-27 13:21:08