8

私はcentos5にいます。makealtinstallを使用してpython26ソースをインストールしました。それから私はしました:

yum install qt4
yum install qt4-devel
yum install qt4-doc

riverbankcomputing.co.ukから、sip 4.10.2のソースをダウンロードし、コンパイルして正常にインストールしました。次に、同じサイトから、ソースPyQt-x11-4.7.3からダウンロードしてコンパイルしました。

どちらのインストールもpython26バージョン(/usr/local/bin/python2.6)を使用していました。したがって、configure.py、make、およびmakeinstallはエラーなしで機能しました。最後に、このスクリプトを実行しようとしましたが、この投稿の件名でエラーが発生しました。

import sys
import signal

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import QWebPage

def onLoadFinished(result):
    if not result:
        print "Request failed"
        sys.exit(1)


    #screen = QtGui.QDesktopWidget().screenGeometry()
    size = webpage.mainFrame().contentsSize()
    # Set the size of the (virtual) browser window
    webpage.setViewportSize(webpage.mainFrame().contentsSize())

    # Paint this frame into an image
    image = QImage(webpage.viewportSize(), QImage.Format_ARGB32)
    painter = QPainter(image)
    webpage.mainFrame().render(painter)
    painter.end()
    image.save("output2.png")
    sys.exit(0)


app = QApplication(sys.argv)
signal.signal(signal.SIGINT, signal.SIG_DFL)

webpage = QWebPage()
webpage.connect(webpage, SIGNAL("loadFinished(bool)"), onLoadFinished)
webpage.mainFrame().load(QUrl("http://www.google.com"))

sys.exit(app.exec_())

pyqt4の構成の最初でさえ、QtWebKitをインストールする必要があると表示されていましたが、そうではないようです。どうしたの?

検索したところ、インストールされていないようです。私のオプションは何ですか?

[root@localhost ~]# find / -name '*QtWebKit*'
/root/PyQt-x11-gpl-4.7.3/sip/QtWebKit
/root/PyQt-x11-gpl-4.7.3/sip/QtWebKit/QtWebKitmod.sip
/root/PyQt-x11-gpl-4.7.3/cfgtest_QtWebKit.cpp
4

4 に答える 4

5

apt install python-pyqt5.qtwebkit

于 2016-10-12T09:38:45.230 に答える
4

システムへのQtインストールにWebkitライブラリがビルドされていることを再確認してください。

また、QtWebKit.soがpython2.6 / site-packages/PyQt4ディレクトリに存在することを確認してください。

于 2010-05-27T16:05:52.293 に答える
1

PySideたとえば、Pythonモジュールをインストールします。

pip install PySide

次に、インポートを次の場所から変更します。

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import QWebPage

に:

from PySide.QtCore import *
from PySide.QtGui import *
from PySide.QtWebKit import QWebPage

または、フォールバックとしてPySideを使用することもできます。これにより、コードを古いシステムとの互換性を保つことができます。

try:
    # NOTE We need to try importing QtWebKit first,
    #      because it is the most likely one to not be available,
    #      and all used QT classes need to come from the same module,
    #      to be compatible with each other.
    from PyQt4.QtWebKit import QWebPage
    from PyQt4.QtCore import *
    from PyQt4.QtGui import *
except ImportError:
    try:
        from PySide.QtGui import *
        from PySide.QtWebKit import QWebPage
    except ImportError:
        raise Exception("We require PyQt4 (with QtWebKit) or PySide")

ただし、上記は基本的に単なる回避策であるため、長期的にはQT5に変更する必要があります。

于 2019-05-11T18:56:11.200 に答える
0

atrpmsel5リポジトリからqt44/qt44-x11 /qt44-develrpmsをインストールします。

http://atrpms.net/dist/el5/qt4/

于 2010-08-15T23:45:49.610 に答える