<转>用PyQt4打造一个简易浏览器

简介: 刚学PyQt4,发现Python的库实在太强大了,50行代码就能写出一个浏览器…支持JavaScript和CSS,Acid3浏览器兼容性测试能跑41分(IE 6才5分),地址如果没输全的话,会自动在前面加上http://。

刚学PyQt4,发现Python的库实在太强大了,50行代码就能写出一个浏览器…

支持JavaScript和CSS,Acid3浏览器兼容性测试能跑41分(IE 6才5分),地址如果没输全的话,会自动在前面加上http://

参考了这篇文章:http://ogc-daily.blogspot.com/2009/04/pyqt-part-7.html

界面:


源代码如下(需要安装PyQt4):

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

class MyBrowser(QWidget):

    def __init__(self, parent = None):
        super(MyBrowser, self).__init__(parent)
        self.createLayout()
        self.createConnection()

    def search(self):
        address = str(self.addressBar.text())
        if address:
            if address.find('://') == -1:
                address = 'http://' + address
            url = QUrl(address)
            self.webView.load(url)

    def createLayout(self):
        self.setWindowTitle("keakon's browser")

        self.addressBar = QLineEdit()
        self.goButton = QPushButton("&GO")
        bl = QHBoxLayout()
        bl.addWidget(self.addressBar)
        bl.addWidget(self.goButton)

        self.webView = QWebView()

        layout = QVBoxLayout()
        layout.addLayout(bl)
        layout.addWidget(self.webView)

        self.setLayout(layout)

    def createConnection(self):
        self.connect(self.addressBar, SIGNAL('returnPressed()'), self.search)
        self.connect(self.addressBar, SIGNAL('returnPressed()'), self.addressBar, SLOT('selectAll()'))
        self.connect(self.goButton, SIGNAL('clicked()'), self.search)
        self.connect(self.goButton, SIGNAL('clicked()'), self.addressBar, SLOT('selectAll()'))


app = QApplication(sys.argv)

browser = MyBrowser()
browser.show()

sys.exit(app.exec_())

 

目录
相关文章
|
2月前
|
Java 测试技术 Python
Selenium帮助你轻松实现浏览器多窗口操作
Selenium帮助你轻松实现浏览器多窗口操作
95 0
|
2月前
|
Web App开发 JavaScript 前端开发
浏览器调试工具的使用
浏览器调试工具的使用
|
Web App开发 前端开发 JavaScript
前端基本开发工具的浏览器之Chrome
Chrome是一款流行的浏览器,其WebKit引擎为用户提供了出色的性能和安全性。下面就让我们来看看Chrome的特点和优势。
91 0
|
Web App开发 JavaScript 开发者
window 系统里 chrome 浏览器一些实用的调试技巧
window 系统里 chrome 浏览器一些实用的调试技巧
1592 0
window 系统里 chrome 浏览器一些实用的调试技巧
|
Web App开发 存储 JavaScript
window 系统里 chrome 浏览器一些实用的调试技巧2
window 系统里 chrome 浏览器一些实用的调试技巧
126 0
window 系统里 chrome 浏览器一些实用的调试技巧2
|
大数据 Python
使用pyqt5 QWebEngineView开发浏览器
使用pyqt5 QWebEngineView开发浏览器
157 0
使用pyqt5 QWebEngineView开发浏览器
|
Python
【浏览器&exe桌面应用】用cef Python打造自己的浏览器
【浏览器&exe桌面应用】用cef Python打造自己的浏览器
211 0
【浏览器&exe桌面应用】用cef Python打造自己的浏览器
|
Java Android开发
【浏览器&exe桌面应用】用javafx webview 打造自己的浏览器
【浏览器&exe桌面应用】用javafx webview 打造自己的浏览器
272 0
【浏览器&exe桌面应用】用javafx webview 打造自己的浏览器
|
Android开发
【浏览器&exe桌面应用】用javafx webview 打造自己的浏览器-全屏自适应屏幕
【浏览器&exe桌面应用】用javafx webview 打造自己的浏览器-全屏自适应屏幕
193 0
|
前端开发 JavaScript Python
Python之Phantomjs无界面浏览器
Python之Phantomjs无界面浏览器
Python之Phantomjs无界面浏览器