Problème d'envoi de fonction à un connect
Bonjour à tous.
J'ai crée un petit navigateur pour m'entrainer, avec un QMdiArea pour gérer les onglets.
Toutefois, je rencontre un problème lors de la création de la barre de chargement.
Voilà mon code, plus explicite que des mots :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| QObject::connect(pageWebActuelle(), SIGNAL(loadProgress(int)), this, SLOT(progres(int)));
[...]
QWebView *fenetrePrincipale::pageWebActuelle()
{
return zoneCentrale->activeSubWindow()->findChild<QWebView *>();
}
[...]
void fenetrePrincipale::progres(int pourcentage)
{
progression->setValue(pourcentage);
} |
Voilà, j'établis une connexion entre le loadProgress du QWebView renvoyé par ma fonction pageWebActuelle et mon slot personnalisé progres().
Toutefois, cela ne fait rien du tout, aucune connexion ne se fait (j'ai fait un signal loadStarted et loadFinished qui font apparaitre et disparaitre la barre de chargement mais je ne vois pas l'intérêt de le mettre ici).
Toutefois ce code marche très bien :
Code:
1 2 3 4 5 6 7 8
| QWebView *onglet=new QWebView;
onglet->load(QUrl("http://www.google.fr"));
QMdiSubWindow *fenetre=zoneCentrale->addSubWindow(onglet);
fenetre->show();
[...]
QObject::connect(onglet, SIGNAL(loadProgress(int)), this, SLOT(progres(int))); |
Je déclare directement mon QWebView onglet dans le constructeur de ma fenêtre, et je l'envoi au connect.
Ce que je comprend pas, c'est pourquoi le fait d'indiquer au connect un return d'une fonction ne marche pas.
Si vous pouviez m'aider, cela m'éviterait de m'arracher les derniers cheveux qu'il me reste sur la tête...
Merci, et bonne soirée.