Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
Other frequently asked questions can be found in the FAQ index and in the Technical FAQ.
This indicates that you've included the TQ_OBJECT macro in a class declaration and probably also run the tqmoc, but forgot to link the tqmoc-generated object code into your executable. See Using the TQt Meta Object Compiler for details on how to use tqmoc.
TQt programs need the following components of a TQt distribution:
TQt distributions consist of different files needed at compile time, link time, or run time. Trolltech distributes TQt in the form of a source package that contain all these files once they have been built.
Other vendors distribute TQt in the form of binary packages. Binary packages usually consist of two parts:
Depending on how you are using TQt, you need to make specific parts of the TQt distribution available to your programs. Typical situations are described below.
You build programs with a single version of TQt, but you still need to run programs linked with another version of TQt. You are typically a Linux developer who builds programs for TQt 3.x on a KDE desktop based on TQt 2.x. TQt packages are usually split into a shared library package with a name like qt and a developer package with a name like qt-dev. You will need the appropriate packages:
Just install the packages, qt2, qt3, and qt3-dev. You may need to set the environment variable TQTDIR to point to TQt 3.x.
You build and run programs for TQt 2.x and TQt 3.x. You will need:
Get the source distributions of both TQt 2.x and TQt 3.x.
$ cd /opt $ gunzip -c \c qt-x11-2.3.1.tar.gz | tar xf - $ cd qt-2.3.1 $ setenv TQTDIR /opt/qt-2.3.1 $ configure [options] $ make $ cd /opt $ gunzip -c qt-x11-free-3.0.0.tar.gz | tar xf - $ cd qt-3.0.0 $ setenv TQTDIR /opt/qt-3.0.0 $ configure [options] $ make
cd /usr/local/lib ln -s /opt/qt-2.3.1/lib/libtqt.so.2 . ln -s /opt/qt-2.3.1/lib/libtqt-mt.so.2 . ln -s /opt/qt-2.3.1/lib/libqutil.so.1 . ln -s /opt/qt-3.0.0/lib/libtqt.so.3 . ln -s /opt/qt-3.0.0/lib/libtqui.so.1 .
To develop with TQt 2.x use:
setenv TQTDIR /opt/qt-2.3.1 setenv PATH ${TQTDIR}/bin:${PATH}
To develop with TQt 3.x use:
setenv TQTDIR /opt/qt-3.0.0 setenv PATH ${TQTDIR}/bin:${PATH}
Setting TQTDIR ensures that the proper resources are used, such as the documentation appropriate to the version of TQt you're using. Also your Makfiles may refer to "$TQTDIR"/include and "$TQTDIR"/lib to include the proper header files and link with the proper libraries. Setting the PATH ensures that the proper version of tqmoc and other tools is being used.
When using TQt without a window manager on Unix/X11, you will most likely experience focus problems. Without a window manager, there is no focus handling on X11, and no concept of an active window either. If you want your application to work in such an environment, you have to explicitly mark a window as active after showing it:
yourWindow->show(); yourWindow->setActiveWindow();
Note that setActiveWindow() won't work if the widget does not become physically visible during this event cycle. However, without a window manager running, this is guaranteed to happen. For the curious reader: setActiveWindow() emulates a window manager by explicitly setting the X Input Focus to a widget's top level window.
Copyright © 2007 Trolltech | Trademarks | TQt 3.3.8
|