views:

274

answers:

2

I am on centos5. I installed python26 source with a make altinstall. Then I did a:

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

From riverbankcomputing.co.uk I downloaded the source for sip 4.10.2, compiled and installed fine. Then from the same site I downloaded and compiled from source PyQt-x11-4.7.3

Both installs were using the python26 version (/usr/local/bin/python2.6). So configure.py, make, and make install worked with no errors. Finally, I tried to run this script, but got the error in the subject of this post:

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_())

Even in the beginning of the configure for pyqt4, I saw it say QtWebKit should be installed, but apparently it's not? What's going on?

I just did a find, and it looks like it wasn't installed. What are my options?

[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
+2  A: 

Double check to make sure that the Qt installation on your system has the Webkit library built.

Also, check to make sure that the QtWebKit.so exists in your python2.6/site-packages/PyQt4 directory.

Matt T
From your 'find', it looks like from your system does not have the QtWebKit library from the Qt distribution itself. I don't know CentOS very well but check for a QtWebKit package in your package manager and get that installed. Then you will need to rebuild PyQt4.
Matt T
I assumed the QtWebKit was a part of PyQt. Centos uses yum, and I am not sure how to use it much either. I figured yum search webkit would find something, but it doesn't. I am going to remove those packages, and install this, and see what happens.http://qt.nokia.com/downloads
Hallik
PyQt just wraps the underlying Qt libraries. When you build PyQt, it checks to see what Qt libraries you have installed and then builds the wrappers for what it finds. A quick google for centos 5 and webkit didn't turn up much of anything. Hopefully a CentOS expert will have a better answer for you.
Matt T
A: 

install the qt44/qt44-x11/qt44-devel rpms from the atrpms el5 repo.

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

Paul