Dear Future Googler,
If you are reading this you’re probably trying to find out how to display webpages in PyQt5. I bet you’ve been finding a bunch of tutorials written for QtWebKit but can’t get them to work, right? Don’t worry, I was in your shoes once – I’m writing this blog to give you the help I had to give myself.
The main issue here is that QtWebKit was replaced by QtWebEngine in Qt 5.5, which provides chromium support, so everything else you’ve found is probably out of date. In some cases you might find instructions to install the old QtWebKit, but you don’t need to do that. With some minor changes you’re good to go with vanilla PyQt5.
Basically, for the imports, you use
PyQt5.QtWebEngineWidgets instead. Then, for the object that shows the page you have to use
QWebEngineView(). After that you should be good to go!
I have a sample below that shows how to open my blog in PyQt5.
import sys from PyQt5.QtCore import * from PyQt5.QtWebEngineWidgets import * from PyQt5.QtWidgets import QApplication app = QApplication(sys.argv) web = QWebEngineView() web.load(QUrl("https://further-reading.net")) web.show() sys.exit(app.exec_())
The Qt5 docs should have everything you need to get the most out of this. Happy coding!