2

Ubuntu 10.10を実行していて、apt-getを介してPyQt4.7.4をインストールしました。

QtDesignerでGUIレイアウトを作成し、pyuic4を使用して.uiファイルを.pyにコンパイルします。

次に、自動生成されたクラスをサブクラス化し、サブクラスのコンストラクターを実装します。setupUi()を呼び出すと、次のエラーとスタックトレースが表示されます。

$ python src/gui/main_window.py 
Traceback (most recent call last):
  File "src/gui/main_window.py", line 2, in <module>
    from ui_main_window import Ui_MainWindow
  File "/home/dmass/sandbox/test/src/gui/ui_main_window.py", line 694, in <module>
    from QtDeclarative.QDeclarativeView import QDeclarativeView
ImportError: No module named QtDeclarative.QDeclarativeView

さらに、同僚がWindowsのPyQt 4.8.3インストールからpyuic4を使用して.uiファイルを.pyにコンパイルすると、次のエラーが発生します。

$ python src/gui/main_window.py  
Traceback (most recent call last):  
  File "src/gui/main_window.py", line 2, in <module>  
    from ui_main_window import Ui_MainWindow  
  File "/home/dmass/sandbox/test/src/gui/ui_main_window.py", line 705, in <module>  
    from PyQt4 import QtDeclarative  
ImportError: cannot import name QtDeclarative

PyQtをインストールしたときに、QtDeclarativeがインストールされていなかった(またはPythonが予期した場所になかった)ようです。しかし、奇妙なことに、私はグーグル検索で同じ問題を抱えている他の人を見つけることができませんでした。

誰かがここで何が起こっているのか知っていますか?ご協力いただきありがとうございます!

デイブ

4

2 に答える 2

0

パッケージpython-qt4 の下の Ubuntu 10.10 (Maverick)では、パッケージのfilelistに QtDeclarative バインディングがありません。しかし、QtDeclarative.so はUbuntu 11.04 (Natty) に存在します。

その場合、OS 全体を Natty に更新するか、このファイルを手動でコピーして Python パスに貼り付けることができます。

アップデート。私のDebian Squeezeでそれをやろうとしましたが、依存関係libqt4-declarativeのために失敗しました。ただし、Ubuntu Maverick にはすでにmaverick/libqt4-declarativeがあります。

PS。ただし、手動でコピーすることは推奨されない方法であることを知っておく必要があります。

于 2012-04-19T21:22:06.573 に答える
0

という ubuntu システムのどこかにディレクトリがあるはずQtDeclarativeです。にあることを確認してくださいPYTHONPATH。の Windows マシンでも同様の操作を行う必要がありますPyQt4

于 2011-02-24T22:54:08.557 に答える