Donc, fondamentalement, je fais une très simple Qt app pour m'aider pendant que j'apprends OpenGL. L'idée
est que j'ai deux fenêtres, l'une est un contexte GL (GLWidget, dérivé de QGLWidget) et l'autre est une interface graphique simple avec quelques barres de progression et une zone de texte.Simple Qt App refuse de compiler une fois qu'un signal/slot est ajouté
Je peux obtenir l'application pour compiler et exécuter, et tout est beau jusqu'à ce que j'ai essayé de connecter les signaux et le slot entre les deux fenêtres. J'ai lu les docs sur QGLWidget, le tutoriel officiel sur les signaux et les slots, et la documentation pour int connect()
.
Pour illustrer: mon fichier main.cpp:
#include <QApplication>
#include <QObject>
#include "glwidget.h"
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow *mWindow = new MainWindow();
GLWidget *gl = new GLWidget();
//If this line is commented out, the program compiles and runs
connect(gl, SIGNAL(fpsReport(float)), mWindow, SLOT(updateFPS(float));
mWindow->show();
gl->show();
return app.exec();
}
Les erreurs du compilateur spécifiques que je reçois sont:
In function 'int qMain(int, char**)':
invalid conversion from 'GLWidget*' to 'SOCKET'
cannot convert 'const char*' to 'const sockaddr*' for argument '2' to 'int
connect(SOCKET, const sockaddr*, int)'
Je ne sais pas si cela est pertinent, mais j'utilise Qt Creator 2.0.1, basé sur Qt 4.7.0 (32 bits). Exécution de Windows 7 Ultimate 32 bits.
D'oh! Je pensais que c'était quelque chose de stupide comme ça. Merci beaucoup! – rjacks
Ne vous inquiétez pas, j'ai été là aussi ;-) – Fred
Je pense que tout le monde a fait celui-ci après quelques travaux avec Qt! – tibur