2016-10-19 51 views
1

當從「使用Python和Qt進行快速GUI編程(第07章),Prentice Hall(Mark Sumerfield)」構建查找和替換對話框時,出現以下錯誤:Python從Rapid GUI中查找並替換對話框編程錯誤

import ui_findandreplacedlg 
ImportError: No module named ui_findandreplacedlg 

取決於我運行的Python版本,我也得到:

File "findandreplacedlg.py", line 7, in <module> 
    ui_findandreplacedlg.Ui_FindAndReplaceDlg): 
AttributeError: 'module' object has no attribute 'Ui_FindAndReplaceDlg' 

我從他們的網站,它以同樣的方式在同一行錯誤的源代碼。我在他們的網頁上搜索了勘誤,沒有提到任何內容。有誰知道解決方案是什麼?

回答

0

您需要使用pyuic工具將ui文件轉換。這在如下的書(206頁)解釋說:

Once a user interface has been designed and saved in a .ui file, it must be con- verted into code before it can be used. This is done using the pyuic4 command- line program. For example:

C:\pyqt\chap07>pyuic4 -o ui_findandreplacedlg.py findandreplacedlg.ui 

或者,如果你是在Linux上:

$ cd pyqt/chap07 
$ pyuic4 -o ui_findandreplacedlg.py findandreplacedlg.ui 
$ python findandreplacedlg.py 
+0

是的,我已經完成了這一步。 – Julia

+0

@Julia。我用[pyqtbook27.tar.gz](http://www.qtrac.eu/pyqtbook27.tar.gz)和[pyqtbook31.tar.gz](http://www.qtrac.eu/pyqtbook31.tar)進行了測試。 gz),而且它們都適合我。你需要用'python findandreplacedlg.py'運行程序(在'cd'到適當的目錄之後)。 – ekhumoro

+0

我以爲我曾經使用過pyuic4,但是在回顧我的步驟時,我注意到當我以爲我使用了pyuic4和pyuic時,我只安裝了pyuic和pyside-uic。 – Julia