Les derniers messages du forum QtFR.

18/02/2018

Obtenir la taille d'un QGraphicsView

Bonjour,
Je travaille à nouveau sur le dessin des repères cartésiens. Je regarde du coté de QGraphisView

Une MainWindow. J'y pose un QGraphisView
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
qDebug() << ui->graphicsView->width() << ui->graphicsView->height();
}
< /code>
Starting...
256 192
Maintenant si je l'utilise comme CentralWidget sans modifier aucunement sa taille initiale
Starting...
100 30
Je comprends bien ce résultat, vu que le code est placé dans le constructeur. Seulement comment récupérer la taille réelle de ce QGraphicsView ? Pas d'autre solution que de surcharger paint ?
Cordialement. Gilles
15/02/2018

[Qt 5] Récupérer la version de MinGw

Bonjour à tous,

Pour une application Qt 5.10 sous Windows 7 (64), je cherche à afficher le numéro de version MinGw.
Mes recherches sur le forum et sur le net n'ont rien donné.
Merci d'avance.
15/02/2018

animation de Model 3d. animation squelettique

Bonsoir a tous pouvez vous m'aider a comprendre comment animer un model 3d.
je sais deja comment afficher un model 3d avec assimp, mais tous les tutos sur le skelet animation sont incomprehensibles..
Merci d'avance
10/02/2018

Bug Scrollbar ?

Bonjour,

j'ai l'impression que le composant Scrollbar s'accapare tous les événements Keys.OnReleased avec un "event.accepted = true;" ce qui empêchent les éléments parents de pouvoir traiter les événements en question.

Est-ce que quelqu'un peut me confirmer que c'est bien le cas ?
Merci.
09/02/2018

Catcher toutes les erreurs

Bonjour tout le monde.

J'aimerais savoir s'il existe un moyen de catcher toutes les erreurs générées par une application Freebox ?
L'idée serait de pouvoir intercepter toutes les erreurs comme celles que l'on peut voir dans la partie "Sortie de l'application" de Qt Creator.

Pour le moment, j'attrape les erreurs JS avec des try/catch, mais pas les erreurs QML (exemple : utilisation d'une propriété d'un objet qui n'existe pas)
10/02/2018

Bug Transaction ?

Bonjour.

Dans mon application en cours de développement, j'essaye d'utiliser la factory de l'objet Transaction, mais l'URL effectivement envoyée sur le réseau se voit greffée des paramètres en trop et avec des valeurs erronées.

Exemple : j'essaie d'appeler http://toto.com/api/action.php?action=search&page=1&format=json&q=montextederecherche

Avec le debug activée, l'URL qui part ressemble au final à ceci (hors encodage d'URL) :
http://toto.com/api/action.php?action=search&action=function() { [code] }&action=function() { [code] }&page=1&page=function() { [code] }&page=function() { [code] }&format=json&format=function() { [code] }&format=function() { [code] }&q=montextederecherche&q=function() { [code] }&q=function() { [code] }

Les mêmes paramètres (action, page, format et q) sont dupliquées, mais avec des valeurs de fonction JS : function() { [code] }

En regardant le code du HTTP.js, il semblerait que cela vienne du QueryDict.toString().

Est-ce que quelqu'un reproduit ou a déjà rencontré ce problème ?

PS : j'ai un contournement qui est de passer par un new Http.Request("GET", mon_url, mes_headers).send()...
12/02/2018

Décodage d'une trame

Bonjour à tous

Je travaille depuis quelques temps à la réception et au décodage de trames simples.
Ces trames sont reçue en héxa et je bloque complètement pour réussir à en faire ce que je veux.

J'ai plusieurs type de données sur ces trames (du simple booleen sur un bit à l'entier sur 4 octets) mais pour gagner de la place toutes les informations sont compactées (par exemple sur les trois octets à l'offset 6 à 8 je code deux entiers non signés, chacun sur 12 bits ou encore j'ai un octet avec un ID sur les 4 premiers bit, un flag booleen sur un bit et les trois suivant forme un statut pouvant prendre 7 valeurs différentes).

Du coup je suis un peu embêté sur le comment traiter mes X octets pour ressortir les informations dont j'ai besoin.

Si vous avez des pistes de recherche ou des suggestions ce serait grandiose.
Merci
13/02/2018

inactivité sur une fenêtre

Salut,
j'ai une fenêtre, avec une liste de donnée qui se met à jour en temps réel via un thread, et 2 timer qui lancent des actions.... Bref ça marche très bien...
Par contre, sur cette fenêtre, j'ai un bouton qui permet d'ouvrir une Qdialog modale dans laquelle, je mets à jour les donnée de connexion au réseau CAN sur lequel je récupère mes données... tout ça marche aussi très bien.

Ma question: lorsque je suis en fonctionnement, mes données se mettent à jour, si j'ouvre ma fenetre de setting de la connexion et que dans celle-ci je fais un "Cancel" (il n'y a aucun code derrière), je reviens sur ma fenêtre principale, mais tout est arrêté!!!???
Est-ce normal? Comment est-ce que je pourrais éviter ça? Et pourquoi est-ce que lorsque j'ouvre ma fenêtre de setting toutc e qui est derrière s'arrête?

Merci
06/02/2018

QTcpSocket Open Close

Salut à tous,
J'ai une petite question concernant les socket.
je n'arrive pas à faire un open/ close à volonté sans être obligé de refaire un connect...
L'exemple que je donne se trouve dans la même méthode, mais c'est pour l'exemple, en réalité ce code sera spliutté en trois partie: une partie ping, création et connexion (si le close et open fonctionne) une partie écriture de consigne sur la socket et une partie pour la lecture... ce code fonctionne très bien sur une chambre climatique.

bool MainWindow::ConnectClimaticChamber()
{
quint8 exitCode = QProcess::execute("ipconfig", QStringList() << "/flushdns");

if(exitCode != 0)
return false;

exitCode = QProcess::execute("ping", QStringList() << commBattHostName.value("CLIM_CHAMBER"));

if(exitCode != 0)
return false;

this->socketClim = new QTcpSocket(this);
connect(this->socketClim, SIGNAL(readyRead()), this, SLOT(getClimChamberTemp()));

this->socketClim->abort();

this->socketClim->connectToHost(commBattHostName.value("CLIM_CHAMBER"), 2049);

if(!this->socketClim->isOpen())
return false;
// ici je voudrais faire un this.socketClim.close(); // ça ça fonctionne
/////// Fin première partie///////

/// seconde partie /////////////
// Et ici, je voudrai faire un this->socketClim->open(QIODevice::WriteOnly);
QTextStream text(this->socketClim);
text << "$01E 0028.5 0.0 001000000000\r" << endl;
this->socketClim->close();
/// Fin seconde partie /////////////

Fonctions::delay(500);

/// Troisième partie//////////////
// Obligé de mettre le code qui suit, le open ne fonctionne pas...
//this->socketClim->abort();

//this->socketClim->connectToHost(commBattHostName.value("CLIM_CHAMBER"), 2049);

//if(!this->socketClim->isOpen())
//return false;
this->socketClim->open(QIODevice::ReadOnly);
QTextStream text2(this->socketClim);
text2 << "$01I\r" << endl;
this->socketClim->close();
/// Fin Troisième partie//////////////

return true;
}
Si je fais des Open/Close, c'est parce que lorsque je lis des donnée en entrée, j'attrape un résidu de donnée dont je n'arrive pas à me débarrasser avec des flush...
Et je me retrouve avec une chaine du style "0\r28.5 28.3 ....." au lieu des données voulues "28.5 28.3 ...."
Merci pour votre aide.
07/02/2018

Problème : envoyer un mail via une application QT

Bonjour,

Voilà, j'ai créé une application et par celle-ci je voudrais envoyer des mails.
J'ai trouvé un exemple à cette adresse : https://github.com/bluetiger9/SmtpClient-for-Qt

J'ai lancé le fichier demos pour vérifier si tout marche bien. Cependant au moment de l'envoie de l'e-mail, j'ai bien le message me disant que l'e-mail est bien parti mais ensuite l'application bug. Dans la petite console Qt, j'ai ce message :
"qt.network.ssl: QSslSocket::startClientEncryption: cannot start handshake on non-plain connection"

Est-ce que vous auriez une solution?

Merci.