簡體   English   中英

通過QT Creator中的GUI使用Py2app

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM