[英]Using Py2app with a GUI from QT Creator
我在QT Creatro中創建了一個GUI,並將其存儲為* .ui文件。 使用PyQT,我制作了一個GUI,當以
$ python pyapp.py
為了將此應用程序構建為可以通過雙擊執行的程序,我使用了Py2app。 但是,在兩次單擊圖標后,出現的對話框中出現以下錯誤:
pygui Error
打開控制台后,似乎出現以下錯誤:
12/06/2015 15:58:30.084 pygui[29757]: IOError: [Errno 2] No such file or directory: 'mainwindow.ui'
似乎我用QT Creator創建的gui在打開時沒有被該應用找到。 知道為什么會這樣嗎?
提前致謝。
發生這種情況是因為py2app將無法找到通過代碼中的字符串路徑指定的文件。 它不會將那些文件包含在二進制文件中。 您可以做以下兩件事之一來解決您的問題。
1)您必須使用pyuic4
(包含在PyQt4安裝中)將.ui文件轉換為.py文件。 完成此步驟后,您將擁有一個.py文件。 然后,不使用.ui而是導入.py文件,並從.py file中生成的類繼承您的類。 這將允許py2app包含來自python模塊的ui,而不是搜索.ui文件。
2)您可以簡單地手動將.ui文件放在py2app創建二進制文件的目錄中。 它應該可以正常工作。
更新
如果要嘗試第二種解決方案,則需要指定.ui文件的完整路徑。 您可以通過使用python模塊中的__file__
屬性來執行此操作。 代替uic.loadUiType("mainwindow.ui")
,使用uic.loadUiType(os.path.join(os.path.dirname(__file__), "mainwindow.ui"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.