Les derniers messages du forum QtFR.

26/02/2016

Component fbx.application.Settings

Bonjour

La fonctionnalité Settings est elle utilisable ?
Pas l'air de marcher qd je prends l'exemple de base .
main: http://192.168.0.2:14903/main.qml:10: TypeError: Property 'sessionOpen' of object QQuickWindowQmlImpl_QML_1(0x8423460, "fbx.application.Application") is not a function
◾ Application instance does not declare a handleUrl() function !
◾ Settings load failed with error: QJsonObject({"code":-32000,"message":"Network error: Host unreachable"})
◾ main: http://192.168.0.2:14903/main.qml:10: TypeError: Property 'sessionOpen' of object QQuickWindowQmlImpl_QML_1(0x8423460, "fbx.application.Application") is not a function
◾ Settings save failed with error: QJsonObject({"code":-32000,"message":"Network error: Host unreachable"})

Si ce n'est pas fonctionnel , quelle est la methode la plus simple pour stocker une config ?

Thx
17/10/2017

Getline

Bonjour,

j'ai un petit problème ( de débutant oui j'avoue), je ne sais pas comment faire pour permettre a ""FrameReprog"" de prendre toutes les lignes de Frame_HEX ( pour le moment il me prends que la dernière ) !! avez vous une solution svp

const int endLineCharNumber = 2;
const int offsetSize =4;
const int frameSize = 46;
for( n=0; n<5; n++)
{
Frame = File.mid(n * (frameSize + endLineCharNumber ) + offsetSize , frameSize - offsetSize );
Frame_HEX = Frame.toLower();
}
/********************************************************* Algo_de_Gestion ******************************************************/
void MainWindow::organisation(void)
{
switch (state)
{
case IDLE:
if (startReprog == 1)
{
state = ERASE_FLASH;
}
break;

case ERASE_FLASH:
emit(EraseFlash());
state = ERASE_FLASH_WAIT;
break;

case ERASE_FLASH_WAIT:
emit(statusErase = getStatusErase());
if (statusErase == 0x01)
{
qDebug() << "test 1";
//emit(FrameReprog(Frame_HEX, Frame_HEX.length()));
state = WRITE_FLASH;
statusErase = 0xFF;
}
if (statusErase == 0x00)
{
qDebug() << "test 2";
state = ERASE_FLASH;
statusErase = 0xFF;
}
break;

case WRITE_FLASH:
emit(FrameReprog(Frame_HEX, Frame_HEX.length())); /* ligne n */
state = WRITE_FLASH_WAIT;
statusWriting = 0xFF;
break;

case WRITE_FLASH_WAIT:
emit(statusWriting = getStatusWriting());
if (statusWriting == 0x01)
{
qDebug() << "writing OK";
emit(FrameReprog(Frame_HEX, Frame_HEX.length())); /* ligne n+1 */
}
if (statusWriting == 0x00)
{
qDebug() << "writing KO";
state = ERASE_FLASH;
}
break;

/*case Fin:
break;*/

default:
state = IDLE;
break;
}
}

framereprog ::
void anchor::FrameReprog(QByteArray Frame_HEX, unsigned int length)
{
QByteArray Frame;

for( unsigned int i=0 ; i<length ; i++)
{
Frame[0] = 0xA1;
Frame[i+1] = Frame_HEX.at(i);
}
sendFrame(0, Frame, length);
}
15/10/2017

Problemes de drivers de Mysql sous ubuntu16.4 TLS

Bonsoir
C'est avec joie que j'ai enfin re installer ma machine sous linux..seulement que a chaque fois que je compile on me dit que QMysql driver not loaded..je tourne en rond depuis plus de 8H...avec aucun moyenne de continue mon projet...Au secours Qt version 5.5 et Ubuntu 16.04TLS
16/10/2017

ASSERT: "uint(i) < uint(size())" in file C:/Qt/5.9.1/mingw53_32/include/QtCore/qbytearray.h,

Bonjour,

ça fait une demi journée que j'essaye de résoudre cette erreur :
test 1
ASSERT: "uint(i) < uint(size())" in file C:/Qt/5.9.1/mingw53_32/include/QtCore/qbytearray.h, line 468 ....... l ERREUR
writing KO
test 1
writing KO
et dans la ligne 468 il ya ca :
{ Q_ASSERT(uint(i) < uint(size())); return d->data()[i]; }

Je sais que l'erreur est entre les etoiles( en bas), en faite dans cette boucle for je convertis les lettres MAJUSCULES en minuscules. mais le blem que je vois pas ou est l erreur ??
 const int endLineCharNumber = 2;
const int offsetSize =4;
const int frameSize = 46;
for( n=0; n<5/*1637*/; n++)
{
Frame = File.mid(n * (frameSize + endLineCharNumber ) + offsetSize , frameSize - offsetSize );

/*******A PARTIR D'ICI*******/
unsigned int j = 0;
for(unsigned int i=0; i<(unsigned int)(Frame.length());i=i+2)
{
if( Frame.at(i)< 0x40)
{
Frame_HEX[j] = (Frame.at(i) - 0x30)<<4;
}
else
{
Frame_HEX[j] = (Frame.at(i) - 0x41 + 10)<<4;
}

if( Frame.at(i+1) < 0x40 )
{
Frame_HEX[j] = (Frame_HEX[j] | (Frame.at(i+1) - 0x30));
}
else
{
Frame_HEX[j] = (Frame_HEX[j] | (Frame.at(i+1) - 0x41 + 10));
}
j++;
}

/*******FIN*******/

qDebug()<<"ASCII:"<<Frame<<" HEX:"<<Frame_HEX.toHex();
}
}

void MainWindow::organisation(void)
{
switch (state)
{
case IDLE:
if (startReprog == 1)
{
state = ERASE_FLASH;
}
break;

case ERASE_FLASH:
emit(EraseFlash());
state = ERASE_FLASH_WAIT;
break;

case ERASE_FLASH_WAIT:
emit(statusErase = getStatusErase());
if (statusErase == 0x01)
{
qDebug() << "test 1";
//emit(FrameReprog(Frame_HEX, Frame_HEX.length()));
state = WRITE_FLASH;
}
if (statusErase == 0x00)
{
qDebug() << "test 2";
state = ERASE_FLASH;
}
break;

case WRITE_FLASH:
emit(FrameReprog(Frame_HEX, Frame_HEX.length())); /* ligne n */
state = WRITE_FLASH_WAIT;
break;

case WRITE_FLASH_WAIT:
emit(statusWriting = getStatusWriting());
if (statusWriting == 0x01)
{
qDebug() << "writing OK";
//emit(FrameReprog(Frame_HEX, Frame_HEX.length()));/* ligne n+1 */
}
if (statusWriting == 0x00)
{
qDebug() << "writing KO";
//state = ERASE_FLASH;
state = ERASE_FLASH;
}
break;

/*case Fin:
break;*/

default:
state = IDLE;
break;
}
}
@babaOroms HELP ME please
15/10/2017

IHM pour enfant

Bonsoir à tous.

Ces derniers temps je suis un peu en difficulté pour réaliser une interface pour un soft dédié à l'éducation des enfants. J’en ai réalisé un super joli, mais on me dit que ce n’est pas adéquat pour des enfants de 6-7ans.
Que me conseillez-vous ?
12/10/2017

UbuntuStudio et Qt compilation

Bonjour à tous,

Depuis peu j' ai installé une distribution Linux UbuntuStudio 17.04 puis 17.10 et sur plusieurs ordinateurs.
Alors que sous UbuntuStudio ou Ubuntu 16.04 ce problème n' existait pas.
Qt s' obstine à me générer une bibliothèque partagée au lieu d' un exécutable.

Dans le pro :
TEMPLATE = app

Il doit exister une option quelque part qui n ' est pas conforme mais je ne trouve pas.
J' ai fais des recherches et trouvé aucune information à ce sujet, je dois être un cas unique ???
07/04/2013

Qt 5 et xampp (MySQL)

Bonjour,

J'utilise depuis un moment xampp, j'ai construit une base de données MySQL à laquelle j'accède sous PHP depuis la page d'accueil de xampp.

Mon projet est d’accéder à ma base avec Qt.

Je débute avec Qt, et, comme beaucoup, pour MySQL, je butte sur un "driver not load". Cela fait un moment que je parcours la toile à la recherche d'une solution. Je n' en ai pas trouvé une, mais 10 000 (d'où mon avatar), y compris sur ce forum, et aucune qui correspond à ma config, et à peu près toutes qui commencent à dater.

J'ai écrit quelques lignes de code pour essayer de me connecter à la base, en ouvrant des MessageBox pour essayer de tracer les étapes.
Je crains aussi de compromettre le fonctionnement de xampp qui me sert encore tant que Qt n'est pas fonctionnel. J'ai fait un ghost de C: par sécurité. et j'ai créé une base bidon sans password pour les essais.


Ma config :

Windows XP
Qt Creator 2.6.2 Basé sur Qt 5.0.1 (32 bit) installé sur C:/Qt
xampp installé sur C://xampp
répertoires de travail sur NAS en réseau.

J'ai uploadé mon projet au format 7z depuis mon profil
RV_BaseJMD.7z

L'aide du forum serait la bienvenue car je me sens de plus en plus en phase avec mon avatar.

Jean-Michel.
10/10/2017

Pb couleur des points d'une image dans un label...

Bonjour,
J'ai besoin de connaitre la couleur du pixel sélectionné avec la souris dans une image affichée à l'écran dans un label.

Pour cela, j'ai subclassé QLabel en MyLabel et ajouté dans cette classe la méthode mousePressEvent(QMouseEvent *e).
L'image est chargée via un QPixmap depuis un fichier png et redimensionnée à la taille du label avant d'être affichée.
Lors d'un clic souris sur l'image, je récupère la position dans le label et après une conversion pixmap->image, j'utilise Qcolor(image.pixel(event->pos()))
pour avoir sa couleur.

Apparemment cela semble fonctionner, à ceci près que j'obtiens des valeurs différentes pour une même couleur d'image...
NB: j'ai contrôlé les composantes RGB de l'image depuis Photoshop et la cohérence est bonne hormis pour certains points observés précédemment, alors que la teinte est uniforme.

Ci-après le code utilisé:
main.cpp

#include <QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

return a.exec();
}
mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMouseEvent>
#include <QMessageBox>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private:
Ui::MainWindow *ui;
QPixmap pix;
};

#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
pix.load("Bretagne.png");//image
pix = pix.scaled(ui->lImg->width(),ui->lImg->height(),Qt::KeepAspectRatio,
Qt::SmoothTransformation);//ajuste au label
ui->lImg->setPixmap(pix);
}

MainWindow::~MainWindow()
{
delete ui;
}
mylabel.h

#ifndef MYLABEL_H
#define MYLABEL_H

#include <QMainWindow>
#include <QLabel>
#include <QMouseEvent>
#include <QMessageBox>
#include <QPixmap>
#include <QDebug>

#define PRESS
class MyLabel : public QLabel
{
Q_OBJECT
public:
explicit MyLabel(QWidget *parent = 0);

protected:
#ifdef PRESS
void mousePressEvent(QMouseEvent *e);
#else
void mouseMoveEvent(QMouseEvent *e);
#endif

private:
QImage image;
QPoint p;
QColor color;
};

#endif // MYLABEL_H

mylabel.cpp

#include "mylabel.h"
#include "mainwindow.h"

MyLabel::MyLabel(QWidget *parent) :
QLabel(parent)
{
setMouseTracking(true);
}

#ifdef PRESS //couleur au clic seul
void MyLabel::mousePressEvent(QMouseEvent *e)
{
p = e->pos();//position du clic dans l'image
QRect r = this->rect();//rect d'affichage (label)

image = pixmap()->toImage();
color = image.pixel(p);//couleur du point cliqué dans l'image

int red = color.red();//composantes RGB
int green = color.green();
int blue = color.blue();

QMessageBox::about(0, "Info", QString("Pos: %1,%2\n Rouge = %3 - Vert = %4 - Bleu = %5 - Rect = %6*%7").
arg(p.x()).arg(p.y()).
arg(red).arg(green).arg(blue).arg(r.width()).arg(r.height()));

#else //couleur sous le curseur

void MyLabel::mouseMoveEvent(QMouseEvent *e)
{
p = e->pos();//position du clic dans l'image
QRect r = this->rect();//rect d'affichage (label)

qDebug() << "couleur en " << e->pos() << ": " << QColor(image.pixel(e->pos()));

#endif
}

Image affichée: image
Ex. pour la même zone (bleue sur l'image) j'obtiens:
Position = (49,80) Couleur =( 0,246,247) (idem pour position = (63,30)
mais en (92,88) et en (102,95) j'obtiens (255,18,0) ce qui correspond plutôt à la zone rouge inférieure (?)
Une idée du pourquoi...
10/10/2017

Windows 10 Creator et Qt 4.8.x

Bonjour,

J'ai mis à jour Windows 10 vers Creator et depuis mes applications Qt et autres tierces sont très ralenties.
Constatez-vous aussi ce ralentissement ? Y a-t-il un moyen d'y remédier dans le paramétrage de Windows ?

05/10/2017

Qt script date

Bonjour,

avec Qt script j'essaye de connaitre le jour.
voici mon code:

QScriptValue script = myEngine.newDate(QDateTime::currentDateTime());
myEngine.globalObject().setProperty("date", script);

myEngine.evaluate("date.day() == 5").toBool();
mais ca ne fonctionne pas.
Je ne comprend pas ce que je fais de mal.

Merci d'avance pour votre aide