[C++] [Qt] QFontDialog
Résolu
Wazza6
Messages postés
180
Date d'inscription
Statut
Membre
Dernière intervention
-
Wazza6 Messages postés 180 Date d'inscription Statut Membre Dernière intervention -
Wazza6 Messages postés 180 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème avec la fonction QFontDialog de Qt, je ne comprends pas comment l'utiliser. Dans l'exemple de la documentation de Qt :
À aucun endroit la police d'un widget est changée, j'ai pensé ajouter la ligne:
centralWidget.setFont(font);
mais la compilation plante avec l'erreur:
C:/Users/Administrator/Documents/CC++/Qt/editor/main.cpp:24: error: insufficient contextual information to determine type
Code de la fonction de mon code:
Est-ce que quelqu'un pourrait m'aider s.v.p
J'ai un problème avec la fonction QFontDialog de Qt, je ne comprends pas comment l'utiliser. Dans l'exemple de la documentation de Qt :
void MainWindow::police() { bool ok; QFont font = QFontDialog::getFont( &ok, QFont("Helvetica [Cronyx]", 10), this); if (ok) { // the user clicked OK and font is set to the font the user selected } else { // the user canceled the dialog; font is set to the initial // value, in this case Helvetica [Cronyx], 10 } }
À aucun endroit la police d'un widget est changée, j'ai pensé ajouter la ligne:
centralWidget.setFont(font);
mais la compilation plante avec l'erreur:
C:/Users/Administrator/Documents/CC++/Qt/editor/main.cpp:24: error: insufficient contextual information to determine type
Code de la fonction de mon code:
void MainWindow::setfont()
{
bool ok;
QFont font1 = QFontDialog::getFont(&ok, QFont("Times", 12), this);
if ( ok ) {
// font is set to the font the user selected
centralWidget.font(font1); //Ligne 24 : erreur
} else {
// the user canceled the dialog; font is set to the initial
// value, in this case Helvetica [Cronyx], 10
}
}
Est-ce que quelqu'un pourrait m'aider s.v.p
A voir également:
- [C++] [Qt] QFontDialog
- Qt sdk - Télécharger - Langages
- Qt web - Télécharger - Navigateurs
- Qt tab bar - Télécharger - Personnalisation
- [C++/QT] probleme erreur de segmentation ✓ - Forum C++
- Interrogation qt ✓ - Forum Programmation
4 réponses
hum...
le problème viens peut être de centralWidget.
il faudrait mainwindow.h pour être sur.
essai centralWidget()->setFont(font1);
Tu devrais alors avoir une autre erreur.
le problème viens peut être de centralWidget.
il faudrait mainwindow.h pour être sur.
essai centralWidget()->setFont(font1);
Tu devrais alors avoir une autre erreur.
Salut
déjà as tu bien inclus <QFontDialog> ? j'ai remarqué des erreurs étrange avec Qt lorsqu'il manque des inclusions.
Je ne sais pas si c'est une erreur de frappe, ou de recopie, mais tu appelles la méthode "font" et non "setFont". Or, "font" ne prend pas d'argument, d'où le faite qu'il râle.
déjà as tu bien inclus <QFontDialog> ? j'ai remarqué des erreurs étrange avec Qt lorsqu'il manque des inclusions.
Je ne sais pas si c'est une erreur de frappe, ou de recopie, mais tu appelles la méthode "font" et non "setFont". Or, "font" ne prend pas d'argument, d'où le faite qu'il râle.
Oui , j'ai déjà inclus QFontDialog et même avec setFont j'ai la même erreur. (C:/Users/Administrator/Documents/CC++/Qt/editor/main.cpp:28: error: insufficient contextual information to determine type)
J'ai déjà vérifié les includes et "centralWidget.setFont(font1)" c'est la première chose que j'ai écrite , mais j'ai cherché et j'ai trouvé d'autres exemples qui avaient "widget.font()" donc j'ai essayé.
Le code complet de mon main.cpp si ça peut être utile:
J'ai déjà vérifié les includes et "centralWidget.setFont(font1)" c'est la première chose que j'ai écrite , mais j'ai cherché et j'ai trouvé d'autres exemples qui avaient "widget.font()" donc j'ai essayé.
Le code complet de mon main.cpp si ça peut être utile:
#include <QtGui/QApplication> #include <Qstyle> #include <QPlastiqueStyle> #include <QMessageBox> #include <QFont> #include <QFontDialog> #include "mainwindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; QApplication::setStyle("plastique"); w.show(); return a.exec(); } void MainWindow::setfont() { bool ok; QFont font1 = QFontDialog::getFont(&ok, QFont("Times", 12), this); if ( ok ) { // font is set to the font the user selected centralWidget.setFont(font1); } else { // the user canceled the dialog; font is set to the initial // value, in this case Helvetica [Cronyx], 10 } }