Quand vous appelez une fenêtre modale avec Qt, Windows se charge de faire clignoter la bordure de cette dernière. Par contre, quand elle n’a PAS de bordure (avec le flag Qt::FramelessWindowHint), rien ne se passe. Résultat ? L’utilisateur teste votre logiciel, essaie de faire autre chose après avoir ouvert une fenêtre modale en cliquant dans une [ Lire plus ]
QImage img(ui->widget->size, QImage::Format_RGB32); QPainter painter(&img); ui->widget->render(&painter); fileName = QString(“%1/%2″) .arg(QDesktopServices::storageLocation(QDesktopServices::TempLocation)) .arg(“fichierTemporaire.jpg”); img.save(fileName);
Quand vous sousclassez un QWidget pour qu’il aille des comportements différents, il peut être difficile de trouver quelle est la taille des marges, bordures, etc. Par exemple, si vous voulez sousclasser un QLineEdit pour ajuster automatiquement la taille du texte, vous pouvez trouver le rectangle où le texte est entré avec la méthode suivante : [ Lire plus ]
Qt ne permet pas d’inclure du HTML dans un tableau ou un liste Par contre, il est possible d’arriver à dessiner du “rich text” grâce à un delegate. Pour ce qui est de l’implémentation d’un delegate, je vous épargne la théorie, c’est relativement facile, il n’y a qu’à voir les centaines d’exemples sur le web [ Lire plus ]
Vous le savez, gérer la mémoire avec c++ demande une certaine vigilance. En effet, il faut penser à faire un “delete” quand on fait un “new”. Par contre avec Qt, une grosse partie a déjà été faite pour vous. Si vous donnez un parent à un objet, quand le parent sera détruit, l’enfant le sera [ Lire plus ]
Vous savez probablement que quand une instance de QWebview a terminé de charger la page en cours, vous pouvez simplement vous connecter à son signal loadFinished(), comme ceci : connect(ui->webView, SIGNAL(loadFinished(bool)), this, SLOT(vLoadFinished(bool))); Mais ce que je ne savais pas il n’y a pas si longtemps de cela, c’est que vous pouvez vous connecter avec [ Lire plus ]
Vous savez sans doute qu’on peut accéder à la position du curseur grâce au QMouseEvent, en ré implémentant la méthode mouseMoveEvent, par exemple. Par contre, si vous voulez la position du curseur en dehors de cette méthode pour une quelconque raison, vous n’avez qu’à utiliser une méthode statique de QCursor. QPoint _Point = _pWidget->mapFromGlobal(QCursor::pos());
Si vous voulez créer un fichier avec QFile, il n’y a pas de fonction comme touch() sur linux, mais vous pouvez facilement créer un fichier vide avec la méthode open(). QFile( _Path ).open( QIODevice::WriteOnly ); En effet, QFile crée automatiquement le fichier s’il n’existe pas et que vous voulez y écrire.
J’ai découvert Qt il y a quelques années, et à chaque fois que je l’utilise, sa facilité d’utilisation m’impressionne. À chaque fois que j’utilise un autre framework, je m’ennuie de Qt. C’est pourquoi j’ai décidé de créer ce blog pour y inclure les parties qui m’ont donné du mal. Parce que, oui, le cadre d’applications [ Lire plus ]