如何在 spynner/PyQt4 中设置应用程序名称?
Posted
技术标签:
【中文标题】如何在 spynner/PyQt4 中设置应用程序名称?【英文标题】:How to set the application name in spynner/PyQt4? 【发布时间】:2011-11-14 20:15:43 【问题描述】:我在网上搜索过如何将名称放在 PyQt4 应用程序边框的顶部。我看到了 setCaption() 方法(就像在 http://nullege.com/codes/search/PyQt4.QtGui.QDialog.setCaption 中一样)但我不知道如何使用它以及它是否是好的方法(我已经测试过 browser.setCaption("foobar") ) 我的应用基于spynner,也许我应该在我的脚本中导入 PyQt4.QtGui.QDialog ? 任何例子都将不胜感激:)
这是整个代码(可以按原样运行):
#!/usr/bin/python2
# -*- coding: utf8 -*-
# vim:ts=4:sw=4
login = "patakraouzeck@gmail.com"
passwd = "tartempionisthebest"
useragent = "Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
import spynner
def displayCurrentUri():
return browser.webpage.mainFrame().url().toString()
browser = spynner.Browser(
#debug_level=spynner.WARNING,
debug_level=spynner.ERROR,
#debug_level=spynner.DEBUG,
#debug_level=spynner.INFO,
user_agent = useragent
)
browser.create_webview(True)
browser.hide()
browser.load("http://television.telerama.fr/tele/grille.php")
browser.wk_fill("input[name=email]", login)
browser.wk_fill("input[name=password]", passwd)
browser.click("input[name=go-ident]")
browser.wait_load()
JS_str = (
"""
// VARIABLES PARAMETRABLES
var bgcol = 'black'; // optionnel : couleur du fond compatible avec les CSS
// BODY CONTENT
document.getElementsByClassName("megabanner-top")[0].innerhtml = "";
document.getElementById("listeurl").parentNode.removeChild(document.getElementById("listeurl"));
document.getElementById("barre-ident").parentNode.removeChild(document.getElementById("barre-ident"));
document.getElementById("barre-nav").parentNode.removeChild(document.getElementById("barre-nav"));
document.getElementById("bottom1").parentNode.removeChild(document.getElementById("bottom1"));
document.getElementById("bottom2").parentNode.removeChild(document.getElementById("bottom2"));
document.getElementById("fil").parentNode.removeChild(document.getElementById("fil"));
document.getElementById("mentions-2008").parentNode.removeChild(document.getElementById("mentions-2008"));
document.getElementById("contenu_pied_de_page_fixe").innerHTML=" ";
// CSS CONTENT
document.body.style.setProperty('background-color', bgcol, null);
document.body.style.backgroundImage="none";
document.getElementById("ventre").style.setProperty('padding-top', '0px', null);
document.getElementById("ventre").style.setProperty('padding-bottom', '0px', null);
document.getElementById("gene").style.setProperty('margin', '0%', null);
document.getElementById("gene").style.setProperty('background-color', "white", null);
document.getElementById("sur-gene").style.setProperty('width', '1000px', null);
document.getElementById("contenu_pied_de_page_fixe").style.setProperty('height', '0px', null);
// TRANCHE HORAIRE
changerMaintenant(0);
"""
)
browser.webview.setGeometry(0,0,1440,1800) # x, y, w, h -> http://doc.qt.nokia.com/stable/application-windows.html#window-geometry
browser.webview.resize(1440,1800) # w, h
browser.show()
browser.runjs(JS_str)
browser.wait_load()
#browser.close()
【问题讨论】:
【参考方案1】:browser.webview.setWindowTitle('the title')
https://github.com/makinacorpus/spynner/blob/master/src/spynner/browser.py#L885
http://doc.qt.nokia.com/latest/qwebview-members.html
【讨论】:
以上是关于如何在 spynner/PyQt4 中设置应用程序名称?的主要内容,如果未能解决你的问题,请参考以下文章