PyQt
跳转到导航
跳转到搜索
示例
QtWebKit
获取网页文本的示例:
from PyQt4 import QtWebKit
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication
app = QApplication([])
def capturePageText(url):
view = QtWebKit.QWebView()
view.load(QUrl(url))
page = view.page()
def on_loaded(status):
app.exit()
print()
def on_progress(percent):
print('%d%%...' % percent, end='')
sys.stdout.flush()
def on_timeout(self):
page.action(page.Stop).trigger()
app.exit()
print('已超时。')
view.loadStarted.connect(lambda: print('started'))
view.loadProgress[int].connect(on_progress)
view.loadFinished[bool].connect(on_loaded)
view.timerEvent = on_timeout
timer = view.startTimer(10 * 1000)
print('正在载入网页……')
app.exec()
view.killTimer(timer)
page.action(page.SelectAll).trigger()
return page.selectedText()
打印网页到 PDF
#!/usr/bin/env python3
import sys
try:
from PyQt4 import QtWebKit
from PyQt4.QtCore import QUrl
from PyQt4.QtGui import QApplication, QPrinter
except ImportError:
from PySide import QtWebKit
from PySide.QtCore import QUrl
from PySide.QtGui import QApplication, QPrinter
app = QApplication(sys.argv)
def done(status):
p = QPrinter()
p.setOutputFormat(QPrinter.PdfFormat)
p.setOutputFileName('a.pdf')
view.print(p)
app.exit()
view = QtWebKit.QWebView()
view.load(QUrl('http://blog.lilydjwg.me/'))
view.loadFinished[bool].connect(done)
# PySide does not have QApplication.exec
app.exec_()
设置代理
from PyQt4.QtNetwork import QNetworkProxy
QNetworkProxy.setApplicationProxy(QNetworkProxy(QNetworkProxy.HttpProxy, "localhost", 8087))
使用 Qt 的翻译
import sys
from PyQt4.QtCore import QTranslator, QLocale, QLibraryInfo
app = QApplication(sys.argv)
qt_translator = QTranslator()
qt_translator.load("qt_" + QLocale.system().name(),
QLibraryInfo.location(QLibraryInfo.TranslationsPath))
app.installTranslator(qt_translator)
参见
外部链接
- 初次接触 PyQT, 鸣谢 散漫 童鞋 - Jacky Liu's Blog
- PyQt4教程 — The PyQt4 tutorial 0.1 documentation
- PyQt + QML 快速开发GUI总结 | cold's world