[SOLVED] QApplication in each class?
-
Hi
I'm a newbie at QT and this is my first post so forgive the stoopid question.
Do I need to declare QApplication in each class that needs it or can I pass it as a reference from the calling class (... main())
I've tried with this sort of class declaration
@void myclass(QApplication app)@
...and also
@void myclass (QApplication *app)@
... but they both produce compile errors, either at the declaration line or further on when I try to use it..
Obviously I can declare this in each class but then I have to pass (argc, argv)
Am I missing something obvious?
Cheers
Sam
-
Hi Sam, and welcome to DevNet!
You only need to use this:
@
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv); grafOkapi w; w.show(); return a.exec();
}
@
in your main.cpp!
What's your version of Qt and your OS?
-
Hi,
The most important rule is: THERE MAY ONLY BE 1 QAPPLICATION!!!
To make it easy for argument use and other cool QApplication stuff (translator e.g.) you may access the QApplication by the qApp pointer. Just include <QApplication> or QtCoreApplication and you may access all members.
Also the arguments of the program are accessible via the qApp pointer.
BTW: Welcome to Qt!! -
Ahh, thanks guys
Clochydd, I am actually trying to put everything in classes outside of main (including the show() and exec()) so I can just have a simple class call, and in one of my various attempts to make it work it it was failing at those points.
Jeroentje, I have come across qApp but didn't realise that it was the pointer. I'll give that a whirl at lunchtime and see how I get on (learning this is my lunchtime relaxation... I really must get out more ;-)
Cheers
Sam