Portál AbcLinuxu, 18. května 2024 18:03
Znechucen místními flamy o to, který prohlížeč je nejvyspělejší a nejlepší, jsem se rozhodl radikálně ukončit.
Nejlepší prohlížeč je totiž ten můj a basta. Pravda, zatím toho moc neumí...
Dobrá, konec srandy.
Dnes jsem si konečně udělal čas a pořídil jsem si Qt4 i s Pythoní podporou. K tomuto činu mě popohnal blogový zápisek Jiřího Drbálka o generování náhledů webových stránek, kde názorně ukázal, že s Pythonem a nějakou hotovou věcí (gtkmozembed v jeho případě) se dá udělat webový prohlížeč poměrně snadno a rychle.
Tak co bych neudělal také vlastní, akoráte na, mně bližším, qt. Nu a jak je vidět jde to. Co jsem koukal do referenční příručky k QtWebKitu, lze s tím chodit i dopředu, zpět, tisknout, reloadovat a stopovat. Je dokonce zabudováno základní kontextové menu. Tak mě nepadá, že pokud bych chtěl dělat vlastní.. no, asi by to byly trochu hrátky.
WebKit (kupodivu ) nenašel žádné pluginy, takže chodí jen na HTML, XHTML, CSS, obrázky, svg a javascripty. Což ale většinou stačí.
Takže závěrem vzkaz pro Jirku:
Díky tomu, že je webkit takto "hloupý", neumí načítat file:// ani dělat jiné skopičiny. Pro tvůj generátor náhledů by pak možná byl lepší volbou. A s rychlostí jsem taky poměrně spokojen (možná je rychlejší než gtkmozemebed), nakonec, vyzkoušej sám.
Nejen pro Jirku, zdrojáky nejlepšího webového prohlížeče na světě.
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt4 import QtCore, QtGui, QtWebKit def loadURL(): url = address.text() if url[:5] != "http:": url = "http://" + url address.setText(url) page.load(QtCore.QUrl(url)) app = QtGui.QApplication([]) mainWindow = QtGui.QMainWindow() mainWindow.setWindowTitle(u"Nejlepší webový prohlížeč v0.0.0.1a") mainWidget = QtGui.QWidget(mainWindow) menuWidget = QtGui.QWidget(mainWindow) mainWindow.setCentralWidget(mainWidget) URL_label = QtGui.QLabel("URL:") address = QtGui.QLineEdit("www.abclinuxu.cz") go = QtGui.QPushButton("GO") page = QtWebKit.QWebView() layout = QtGui.QVBoxLayout(mainWidget) layout_menu = QtGui.QHBoxLayout(menuWidget) layout_menu.addWidget(URL_label, 0) layout_menu.addWidget(address, 1) layout_menu.addWidget(go, 0) layout.addWidget(menuWidget, 0) layout.addWidget(page, 1) app.connect(go, QtCore.SIGNAL("clicked()"), loadURL) app.connect(address, QtCore.SIGNAL("returnPressed()"), loadURL) mainWindow.show() sys.exit(app.exec_())
Tiskni Sdílej:
Já si to o tobě myslím taky podle toho
jak prohlížíš webNo tedy, to musím být v tvých očích přímo lidská zrůda .
základních možností a funkcí prohlížečů již z dob před 10 letyJako třeba gesta myší?
Jako třeba navigační rozhraní se záložkami a další funkce UI.No to teda! Lidi, kde bychom byli bez přebujelých GUI? Světová ekonomika i všechna náboženství, ba i celý logický a vědní systém dneška je na nich založen!
jak trucuješ a schováváš se na jabberuTohle má být co?!?! Netrucuji, ani se neschovávám. Jen si prostě skončil v /dev/null a odtamtuď už taky nevylezeš.
kookiePardon . To bude ten vliv KDE
"On i ten qtwebkit, i když jsem to v článku nenapsal, je imho na zobrazovaní html dokumentace, maximálně na intranet."
"Já mluvím o tom, co jsem vyčetl, jaké api mám v pythonu."V první větě není o Pythonu ani zmínka. Je tam tvrzení čistě o QtWebKitu.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.