Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

[QWebkit] - Trouver le favicon d'une page web

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Page 1  2  Suivante
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1  2  Suivante
Hors ligne frigodor # Posté le 02/03/2009 à 20:16:42
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Bonjour tout le monde, me revoilà, encore et encore :p
Je voudrais avoir accès au favicon d'une page web mais je ne trouve pas la méthode dans la doc. J'ai essayé plein de trucs comme "page->icon()" mais ça ne donne rien.
Merci d'avance
Édité le 04/05/2009 à 19:57:12 par frigodor
 
Publicité # Posté le 02/03/2009 à 20:16:42

Hors ligne mcarton # Posté le 02/03/2009 à 20:43:52
Avatar

Ville : Bray-dunes
Pays : France métropolitaine
Études : Lycée Jean Bart - Dunkerque

Hors ligne frigodor # Posté le 02/03/2009 à 21:15:49
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Oui, j'ai également essayé d'utiliser ça mais ça ne marche pas :
Code : C++
1
pageWeb->settings()->iconForUrl();

Mon code serait il faux ?
 
Hors ligne Amnell # Posté le 02/03/2009 à 21:22:40
Avatar

Possible.
Il est possible que ça ne change rien mais tente tout de même cela, ça ne mange pas de pain :
Code : C++
1
pageWeb->settings().iconForUrl();
Édité le 02/03/2009 à 21:23:24 par Amnell
 
Hors ligne shareman # Posté le 02/03/2009 à 21:27:06
Faisons semblant
Avatar

Citation : frigodor
Oui, j'ai également essayé d'utiliser ça mais ça ne marche pas [...]

Un bon conseil : précise l'erreur lancée par le compilateur. ;)

Image utilisateur
« Sex, drugs and rock n'roll... enlevez la drogue et vous aurez plus de temps pour les deux autres »
Steven Tyler, Aerosmith
 
Hors ligne frigodor # Posté le 02/03/2009 à 21:27:52
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

error : no matching function for call to 'QWebSettings::iconForUrl()'


Traduction : la fonction iconForUrl() n'existe pas o_O
Édité le 02/03/2009 à 21:29:11 par frigodor
 
Hors ligne mcarton # Posté le 02/03/2009 à 21:35:06
Avatar

Ville : Bray-dunes
Pays : France métropolitaine
Études : Lycée Jean Bart - Dunkerque

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Citation : zAmnellL
Il est possible que ça ne change rien mais tente tout de même cela, ça ne mange pas de pain :
Regarde la doc de settings().

Citation : frigodor
Traduction : la fonction iconForUrl() n'existe pas o_O
Regarde la doc de iconForUrl().
Hors ligne h4o # Posté le 02/03/2009 à 21:39:22
Cool story 'bro
Avatar
Groupe : Bannis
Flux RSS

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Ce n'est pas dur:c'est une fonction statique,tu l'appel QWebSettings::iconForUrl(&url); .
Où url est de format QUrl
 
Hors ligne frigodor # Posté le 02/03/2009 à 21:40:35
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Et ???? Je l'ai fait depuis longtemps.
Crys', comment as tu fais, puisque tu as le même problème que moi ?
Pourquoi le compilo ne reconnait pas la fonction ?

Edit : h4o, ok, je vais essayer
Edit 2 : J'ai fais comme tu dis. Le programme compile mais l'icône n'apparait pas :
Code : C++
1
actionGo->setIcon(pageWeb->settings()->iconForUrl(url));


C'est censé changé l'icône d'une action. Je tiens à préciser que url existe. Il est déclaré et tout...
Mais l'action, ne contient aucune icone.
Édité le 02/03/2009 à 21:44:02 par frigodor
 
Hors ligne frigodor # Posté le 03/03/2009 à 18:17:17
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Up
Le code pour prendre le favicon ne marche toujours pas :
Code : C++
1
actionGo->setIcon(pageWeb->settings()->iconForUrl(url));
 
Hors ligne frigodor # Posté le 04/03/2009 à 15:03:46
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Hors ligne apocalypse III # Posté le 04/03/2009 à 20:00:42
la vie n'est qu'un jeu

Ville : La turballe
Pays : France métropolitaine
Études : Epitech Nantes

j'ai exactement le même problème essayer cette solutions et d'autre mais sa ne retourne pas l'icon

Code : PHP
1
2
3
4
5
<?
if ($probleme == PHP_ONLY) printf('http://www.php.net/');
if ($probleme == SYMFONY) printf('http://symfony.com/doc/2.0/');
if ($probleme == DOCTRINE) printf('http://www.doctrine-project.org/');
...

Pour la majorité des cas les documentations sont là, alors pensez-y ! :)
 
Hors ligne Kick Crash # Posté le 04/03/2009 à 20:14:52
Avatar

Ville : Courrendlin
Pays : Suisse

Tu es sous windows ?

Parce que concernant la favicon, je crois que QWebkit ne le gère pas pour windows pour le moment...
Une question similaire avait déjà été posé, mais je ne sais pas si les développeurs de QT ont fait une mise à jour concernant ce problème...
En revanche sous linux je crois qu'il n'y a pas de problème !
Hors ligne apocalypse III # Posté le 04/03/2009 à 20:34:49
la vie n'est qu'un jeu

Ville : La turballe
Pays : France métropolitaine
Études : Epitech Nantes

si sa doit marcher je pense , le browser réalisé par Qt marche

Code : PHP
1
2
3
4
5
<?
if ($probleme == PHP_ONLY) printf('http://www.php.net/');
if ($probleme == SYMFONY) printf('http://symfony.com/doc/2.0/');
if ($probleme == DOCTRINE) printf('http://www.doctrine-project.org/');
...

Pour la majorité des cas les documentations sont là, alors pensez-y ! :)
 
Hors ligne Adastre # Posté le 04/03/2009 à 21:21:15
Carpe Diem

As-tu essayé Code : C++
1
actionGo->setIcon(QWebSettings::iconForUrl(url));

Puisque iconForUrl est une fonction statique (cf doc)
Hors ligne apocalypse III # Posté le 04/03/2009 à 22:17:58
la vie n'est qu'un jeu

Ville : La turballe
Pays : France métropolitaine
Études : Epitech Nantes

personnellement j'ai essayé de directement pointé avec QWebSettings le résultat est le même

Code : PHP
1
2
3
4
5
<?
if ($probleme == PHP_ONLY) printf('http://www.php.net/');
if ($probleme == SYMFONY) printf('http://symfony.com/doc/2.0/');
if ($probleme == DOCTRINE) printf('http://www.doctrine-project.org/');
...

Pour la majorité des cas les documentations sont là, alors pensez-y ! :)
 
Hors ligne Kick Crash # Posté le 04/03/2009 à 22:54:47
Avatar

Ville : Courrendlin
Pays : Suisse

Si jamais :

Citation
Pour la favicon, pour information, elle n'est pas gérée pour le moment sous QtWindows. Sous Linux ça devrait marcher en revanche.
Lisez la doc à ce sujet, il est marqué qu'ils ont prévu de régler ça dans une prochaine mise à jour :)


Sujet traité ici !

Mais je ne sait pas si c'est encore d'actualité.
Édité le 04/03/2009 à 22:55:30 par Kick Crash
Hors ligne Carma001 # Posté le 05/03/2009 à 01:10:09
:(){ :|:& };:
Avatar
Groupe : Anciens

Études : Polytech'Nice-Sophia Antipolis

Si, ça marche, il faut cependant initialiser le cache d'icônes avec :

Code : C++
1
QWebSettings::setIconDatabasePath("path");


Et le chemin doit exister ! Cependant, moi j'ai un problème pour nettoyer le cache, et si quelqu'un sait comment on fait, je prends (la fonction QWebSettings::clearIconDatabase(); a un problème ...)

;)
 
Hors ligne apocalypse III # Posté le 05/03/2009 à 18:21:51
la vie n'est qu'un jeu

Ville : La turballe
Pays : France métropolitaine
Études : Epitech Nantes

je dois passer a coté de uelque chose alors car j'arrive pas à utiliser setIconDatabasePath()

Code : PHP
1
2
3
4
5
<?
if ($probleme == PHP_ONLY) printf('http://www.php.net/');
if ($probleme == SYMFONY) printf('http://symfony.com/doc/2.0/');
if ($probleme == DOCTRINE) printf('http://www.doctrine-project.org/');
...

Pour la majorité des cas les documentations sont là, alors pensez-y ! :)
 
Hors ligne Carma001 # Posté le 05/03/2009 à 19:05:16
:(){ :|:& };:
Avatar
Groupe : Anciens

Études : Polytech'Nice-Sophia Antipolis

http://doc.trolltech.com/4.5/qwebsetti [...] nDatabasePath ;)

Il faut mettre le chemin de ton cache icône. Par exemple, si tu veux les mettre dans le dossier cache de l'application, tu fais :

Code : C++
1
QWebSettings::setIconDatabasePath(QCoreApplication::applicationDirPath() + "/cache/");


 
Hors ligne apocalypse III # Posté le 05/03/2009 à 19:19:36
la vie n'est qu'un jeu

Ville : La turballe
Pays : France métropolitaine
Études : Epitech Nantes

merci c'est bon ^^ une erreur bête de mas part je le faisait globalement j'aurais du plustôt le faire sur mon QWebView lors de sa créations ! merci !

Code : PHP
1
2
3
4
5
<?
if ($probleme == PHP_ONLY) printf('http://www.php.net/');
if ($probleme == SYMFONY) printf('http://symfony.com/doc/2.0/');
if ($probleme == DOCTRINE) printf('http://www.doctrine-project.org/');
...

Pour la majorité des cas les documentations sont là, alors pensez-y ! :)
 
Hors ligne frigodor # Posté le 05/03/2009 à 19:26:20
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Cool, je suis parti 1 jour et quand je reviens, on me donne la solution ?
Bon, je teste tout ça et j'édite ce message si ça marche... ou que ça marche pas.

Edit : ça ne marche pas. Voici mon code :

Code : C++
1
2
QWebSettings::setIconDatabasePath(QCoreApplication::applicationDirPath() + "/cache/");
actionGo->setIcon(QWebSettings::iconForUrl(url));
Édité le 05/03/2009 à 20:30:45 par frigodor
 
Hors ligne frigodor # Posté le 06/03/2009 à 17:27:39
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Hors ligne frigodor # Posté le 07/03/2009 à 09:09:00
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

UP
C'est pas compliqué, il y a 2 lignes de code. Ceux qui ont déjà fait un navigateur peuvent m'aider, please. :'(
 
Hors ligne frigodor # Posté le 08/03/2009 à 00:43:48
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Hors ligne frigodor # Posté le 17/04/2009 à 17:50:28
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Bonjour, je déterre ce sujet car ça ne marche toujours pas.
Est-ce que c'est un bug de Qt ou c'est que je m'y suis mal pris. Dans le navigateur créé par Qt, les favicon ne marchent pas non plus.
 
Hors ligne Zéroumanie # Posté le 19/04/2009 à 02:56:57
Memento mori
Avatar

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Il semblerait que cette fonction ne soit pas super opérationnel car en regardant la démo donner par Qt, les icones sont chargés mais pas pour tous les sites.(sur deezer ,google ça marche)
Bon c'était pour te remonter un peu le moral il te reste plus qu'a étudier le code de Qt:

"C:\Qt4.5.0\demos\browser"

Bon courage il y a 21 "cpp".Ben pourquoi tu fais cette tronche ? :p


Hors ligne Jet74 # Posté le 19/04/2009 à 11:40:26
Moto un jour, moto toujours !
Avatar

Ville : Passy
Pays : France métropolitaine

Ctrl+F powaaaa ^^

La complexité d'une erreur est inversement proportionnelle au temps mis pour la trouver.
 
Hors ligne frigodor # Posté le 19/04/2009 à 12:10:13
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Justement, c'est exactement ce que je voulais faire, mais je ne trouve pas les sources de l'application "browser" de Qt. :(
Edit : c'est bon, je les ai trouvé. ;)


Problème résolu. :D
En bref : il faut utiliser :
Code : C++
1
pageWeb->settings()->iconForUrl();

Mais la fonction "iconForUrl()" n'est pas encore opérationnelle et il faudra attendre la version 4.6(ou plus) pour que le bug soit réglé.
Merci à tous !!! ;)
Édité le 19/04/2009 à 12:23:13 par frigodor
 
Hors ligne frigodor # Posté le 03/05/2009 à 11:29:04
Code less, create more !
Avatar

Ville : Le vésinet
Pays : France métropolitaine

Retour au forum "Langage C++" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx