如何在spynner/PyQt4中设置应用程序名称?

1 投票
1 回答
1397 浏览
提问于 2025-04-17 06:18

我在网上搜索了很多,想找到在PyQt4应用程序窗口顶部添加名称的方法。我看到有一个叫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 个回答

撰写回答