[740] | 1 | This is Qt version 4.6.2 for OS/2 and eCS.
|
---|
[144] | 2 |
|
---|
[397] | 3 | This document contains a brief information on the OS/2 version of the Qt
|
---|
[524] | 4 | library. Please read it carefully before starting your work. You may also
|
---|
| 5 | visit the project page at
|
---|
[144] | 6 |
|
---|
| 7 | http://svn.netlabs.org/qt4/wiki
|
---|
| 8 |
|
---|
[188] | 9 | to get more information and the latest news and also to report bugs.
|
---|
[144] | 10 |
|
---|
[397] | 11 | To get a brief list of OS/2-specific changes from release to release
|
---|
| 12 | please see the CHANGES.OS2 file included in this distribution.
|
---|
[144] | 13 |
|
---|
[740] | 14 | Please note that this version is binary incompatible with previous versions of
|
---|
| 15 | Qt 4 for OS/2! This is not a behavior of the original Qt library (where versions
|
---|
| 16 | with the same major number are usually binary compatible), but it is due to the
|
---|
| 17 | fact that we continue to add missing features to the OS/2 version ot Qt and this
|
---|
| 18 | cannot be done witout breaking the binary compatibility. On practice, this means
|
---|
| 19 | that you need to recompile your applications with the new version of the Qt
|
---|
| 20 | library in order to make them work with it.
|
---|
[188] | 21 |
|
---|
[397] | 22 |
|
---|
[740] | 23 |
|
---|
[144] | 24 | REQUIREMENTS
|
---|
| 25 |
|
---|
[397] | 26 | In order to compile the Qt library and Qt-based applications, you will need
|
---|
| 27 | the following tools:
|
---|
[144] | 28 |
|
---|
| 29 | - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
|
---|
| 30 |
|
---|
[740] | 31 | - GCC compiler version 4.4.2 for OS/2, patched OpenWatcom linker and
|
---|
| 32 | GNU Make 3.81beta1 or above. The GCC compiler must be set up to use the
|
---|
| 33 | OpenWatcom linker for linking.
|
---|
[144] | 34 |
|
---|
[740] | 35 | If you do not have a working GCC environment with the above requirements, it
|
---|
| 36 | is recommended to download a ready-to-use GCC 4.2.2 distribution from here:
|
---|
[524] | 37 |
|
---|
[740] | 38 | ftp://ftp.netlabs.org/pub/qt4/gcc-4_4_2-complete-20091205.zip
|
---|
[524] | 39 |
|
---|
[740] | 40 | This distribution includes all tools necessary to compile and build the Qt
|
---|
| 41 | library from the source code. Just follow the installation instructions
|
---|
| 42 | contained in the README file inside this ZIP archive to set up the GCC
|
---|
| 43 | environment.
|
---|
[524] | 44 |
|
---|
[740] | 45 | Please note that starting from Qt 4.6.2, support for GCC 3.3.5 and earlier
|
---|
| 46 | versions of the compiler has been dropped and the Qt library will most
|
---|
| 47 | likely not build if you use one of these compilers. Later versions prior to
|
---|
| 48 | GCC 4.4.2 may work but they are not tested and not supported.
|
---|
[524] | 49 |
|
---|
[740] | 50 | There is also a set of optional tools which are necessary to enable the selected
|
---|
| 51 | features of the Qt library. If these tools are missing, the Qt configuration
|
---|
| 52 | script (discussed in section "COMPILING QT" below) will automatically disable
|
---|
| 53 | the corresponding feature:
|
---|
[144] | 54 |
|
---|
[740] | 55 | - LxLite 1.3.3 or above (not tested) to enable the compression of Qt DLLs and
|
---|
| 56 | application executables (which saves hard disk space and application startup
|
---|
| 57 | time). If you use a recent version of eComStation (e.g. 2.0 rc6) you will
|
---|
| 58 | already have LxLite installed. Otherwise, you may take it from here:
|
---|
[144] | 59 |
|
---|
[740] | 60 | http://www.os2site.com/sw/util/archiver/lxlt133.zip
|
---|
[144] | 61 |
|
---|
[576] | 62 | - eCUPS 1.3.11 or later to support printing in Qt. The eCUPS WPI is available
|
---|
[740] | 63 | from:
|
---|
[576] | 64 |
|
---|
| 65 | ftp://ftp.netlabs.org/incoming/eCUPS003.wpi or
|
---|
| 66 | ftp://ftp.netlabs.org/pub/ecups/eCUPS003.wpi
|
---|
| 67 |
|
---|
| 68 | Linking against eCUPS also requires pthread.lib:
|
---|
| 69 |
|
---|
| 70 | http://web.os2power.com/download/lib/pthread-20100217-os2.zip
|
---|
| 71 |
|
---|
[314] | 72 |
|
---|
| 73 |
|
---|
[740] | 74 | SETTING UP THE ENVIRONMENT
|
---|
[397] | 75 |
|
---|
[740] | 76 | First of all, make sure that your GCC environment is set up and meets the
|
---|
| 77 | specified requirements. To perform a quick check, you may run the following
|
---|
| 78 | command:
|
---|
[397] | 79 |
|
---|
[740] | 80 | gcc --version && make --version && wl /version
|
---|
[397] | 81 |
|
---|
[740] | 82 | If the setup is done properly, it will print the versions of the key tools
|
---|
| 83 | to the console.
|
---|
[144] | 84 |
|
---|
[740] | 85 | The next step is to set up the Qt environment. If you installed the Qt
|
---|
| 86 | development libraries from the WPI archive (refer to section "USING OFFICIAL
|
---|
| 87 | BINARY QT ARCHIVES" below for more details about existing WPI archives), you
|
---|
| 88 | will only need to run the supplied "QtEnv.cmd" script which will do all the
|
---|
| 89 | setup job for you. The script is located in the directory where you installed
|
---|
| 90 | the developmnent libraries (or in the WPS folder created by the WPI installer).
|
---|
| 91 | If you use this script, you may skip the rest of this section and proceed to the
|
---|
| 92 | next one.
|
---|
[524] | 93 |
|
---|
[740] | 94 | If you use the full source code ZIP distribution of the Qt library or work
|
---|
| 95 | directly with the Qt SVN tree, you will need to set up the environment yourself
|
---|
| 96 | by performing the following steps:
|
---|
[259] | 97 |
|
---|
[740] | 98 | - Add the "bin" subdirectory of the directory where you unpacked the Qt4
|
---|
| 99 | source tree to PATH and BEGINLIBPATH, like this:
|
---|
[144] | 100 |
|
---|
[740] | 101 | set PATH=D:\Coding\Qt4\bin;%PATH%
|
---|
| 102 | set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
|
---|
| 103 |
|
---|
| 104 | - Add the system DLLs to the GCC library path with the following command:
|
---|
| 105 |
|
---|
| 106 | set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL;%LIBRARY_PATH%
|
---|
| 107 |
|
---|
| 108 | where C: is your boot drive.
|
---|
| 109 |
|
---|
[152] | 110 | - Make sure CMD.EXE is your command line processor (the generated makefiles
|
---|
[258] | 111 | will rely on its 'copy', 'if' and other commands). If you have a Unix shell
|
---|
| 112 | (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
|
---|
[740] | 113 | by executing the followingn command:
|
---|
[152] | 114 |
|
---|
[740] | 115 | set MAKESHELL=C:\OS2\CMD.EXE
|
---|
[144] | 116 |
|
---|
[740] | 117 | where C: is your boot drive.
|
---|
[258] | 118 |
|
---|
[740] | 119 | Note that the QTDIR environment variable used in previous Qt versions is not
|
---|
| 120 | used in Qt4 anymore. Therefore, there is no need to set this variable
|
---|
| 121 | explicitly.
|
---|
[524] | 122 |
|
---|
[740] | 123 | There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
|
---|
| 124 | qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
|
---|
| 125 | directory, which on OS/2 always refers to the "os2-g++" specification, the only
|
---|
| 126 | one supported at the present time.
|
---|
[524] | 127 |
|
---|
[740] | 128 | NOTE:
|
---|
| 129 |
|
---|
| 130 | It is especially important to make sure that there are no traces of any
|
---|
| 131 | other Watcom or OpenWatcom installation in the environment where you build
|
---|
| 132 | Qt as it will interfere with the patched OpenWatcom linker we use. This
|
---|
| 133 | basically means removing all environment variables containing "WATCOM" in
|
---|
| 134 | their names and also removing references to all those Watcom installations
|
---|
| 135 | from PATH.
|
---|
| 136 |
|
---|
| 137 |
|
---|
| 138 |
|
---|
| 139 | SETTING UP OPTIONAL TOOLS
|
---|
| 140 |
|
---|
| 141 | The following list describes the steps necessary to set up the optional tools
|
---|
| 142 | that the Qt library depends on:
|
---|
| 143 |
|
---|
[576] | 144 | - Install the eCUPS WPI archive to enable printing support. If this WPI is
|
---|
| 145 | installed, the Qt build system will pick up all necessary libraries
|
---|
[740] | 146 | automatically. Otherwise (e.g. if you use a ZIP or build eCUPS yourself),
|
---|
| 147 | you will need to use the following environment variables to tell it where to
|
---|
| 148 | look for CUPS:
|
---|
[576] | 149 |
|
---|
| 150 | set CUPS_INCLUDEPATH=X:\Path\to\CUPS\include
|
---|
| 151 | set CUPS_LIBS=X:\Path\to\CUPS\lib\libcups.a
|
---|
| 152 |
|
---|
| 153 | You will also need to make sure that pthread.lib is placed somewhere in your
|
---|
| 154 | system library path so that the compiler can find it.
|
---|
| 155 |
|
---|
[144] | 156 |
|
---|
| 157 |
|
---|
[397] | 158 | COMPILING QT
|
---|
| 159 |
|
---|
[740] | 160 | You should skip this section if you installed the Qt development libraries using
|
---|
| 161 | the WPI archive (that already contains compiled release versions of the
|
---|
| 162 | libraries) and proceed directly to the next section.
|
---|
[397] | 163 |
|
---|
[144] | 164 | When the environment is set up, go to the directory where you unpacked the
|
---|
| 165 | Qt4 source tree and type:
|
---|
| 166 |
|
---|
| 167 | configure.cmd
|
---|
| 168 |
|
---|
[740] | 169 | This will set up the Qt library (by creating necessary configuration and include
|
---|
| 170 | files and a bunch of Makefiles for variuos components) and build the qmake tool.
|
---|
[144] | 171 |
|
---|
[402] | 172 | The next step is to type:
|
---|
[144] | 173 |
|
---|
[148] | 174 | make
|
---|
[144] | 175 |
|
---|
[740] | 176 | This will compile and link the Qt library. Note that by default both the release
|
---|
[148] | 177 | and the debug version of the library are built (please be patient, it may take
|
---|
| 178 | quite some time depending on your hardware). The release and debug libraries can
|
---|
| 179 | co-exist in the same source tree and may be used in parallel: all the debug DLLs
|
---|
| 180 | get a 'd' letter in their name preceeding the Qt major version number and use
|
---|
| 181 | separate directories for object files.
|
---|
[144] | 182 |
|
---|
[740] | 183 | To save time, you may build the release and the debug versions of the Qt library
|
---|
| 184 | separately by typing 'make release' or 'make debug' accordingly instead of just
|
---|
| 185 | 'make'.
|
---|
[243] | 186 |
|
---|
[740] | 187 | Once the library is successfully built, you may try to compile the demos and
|
---|
| 188 | examples by visiting the individual example subdirectories in the source tree
|
---|
| 189 | and typing 'qmake' followed by one of 'make', 'make release' or 'make debug'
|
---|
| 190 | in that subdirectory.
|
---|
[144] | 191 |
|
---|
[402] | 192 | NOTE:
|
---|
[144] | 193 |
|
---|
[402] | 194 | This version of Qt for OS/2 includes the Extended system tray plugin for
|
---|
[314] | 195 | XCenter/eCenter which is necessary to enable Qt support for the special
|
---|
| 196 | notification area on the XCenter/eCenter panel (called the "system tray")
|
---|
| 197 | which is used by many long-running applications to display their status.
|
---|
| 198 | In order to activate this support, you need to install this plugin to your
|
---|
| 199 | XCenter or eCenter. The plugin is built during the normal Qt build process
|
---|
| 200 | and can be found in the file \plugins\xcenter\xsystray.dll in the Qt source
|
---|
| 201 | tree. In order to install the plugin, do the following:
|
---|
[188] | 202 |
|
---|
[314] | 203 | a. Copy xsystray.dll to <XWorkplace installation folder>\plugins\xcenter\
|
---|
| 204 | (on eComStation, this will be C:\ecs\system\ewps\plugins\xcenter\ where
|
---|
| 205 | C: is your boot drive).
|
---|
[188] | 206 |
|
---|
[314] | 207 | b. Restart WPS.
|
---|
| 208 |
|
---|
| 209 | c. Add the "Extended system tray" widget to the XCenter/eCenter panel using
|
---|
| 210 | the XCenter context menu ('Create new widget').
|
---|
| 211 |
|
---|
| 212 | Note that if you upgrade from the previous version of the plugin then
|
---|
| 213 | please unlock xsystray.dll in the target folder using the UNLOCK.EXE
|
---|
| 214 | utility (which you can find in the LxLite package, for example) before
|
---|
| 215 | performing step a., otherwise the copy operation will fail.
|
---|
| 216 |
|
---|
[397] | 217 | IMPORTANT NOTE:
|
---|
[314] | 218 |
|
---|
[397] | 219 | Please take into account that the Qt library you build on your own as
|
---|
| 220 | described above is NOT intended for wide distribution with Qt applications
|
---|
| 221 | you port or create. Such private Qt builds help you develop Qt applications
|
---|
| 222 | (because you can easily debug your program and parts of the Qt framework at
|
---|
| 223 | the source level) but being widely distributed they will create a so-called
|
---|
| 224 | DLL hell when a program running on a user computer crashes because it picks
|
---|
| 225 | up a wrong build of the Qt library. This will happen because even a single
|
---|
| 226 | change to Qt configuration options may make your build binary incompatible
|
---|
| 227 | with another build. And even if you convince the user to isolate different
|
---|
[740] | 228 | DLLs (using LIBPATHSTRICT and BEGINLIBPATH) it will create another major
|
---|
| 229 | problem: two different Qt applications will load two different copies of Qt
|
---|
| 230 | into memory which will create an unnecessary overhead by doubling the
|
---|
| 231 | amount of used system resources.
|
---|
[314] | 232 |
|
---|
[397] | 233 | In order to nicely solve this problem, netlabs.org provides the official
|
---|
[740] | 234 | binary builds of the Qt library distributed as WPI archives which are
|
---|
[397] | 235 | described in the next section.
|
---|
| 236 |
|
---|
| 237 |
|
---|
| 238 |
|
---|
[740] | 239 | USING OFFICIAL BINARY QT ARCHIVES
|
---|
[397] | 240 |
|
---|
| 241 | For your convenience, netlabs.org provides the following binary distributions
|
---|
[740] | 242 | of the Qt library (where X_Y_Z is the Qt version number) distributed as WPI
|
---|
| 243 | archives:
|
---|
[397] | 244 |
|
---|
[740] | 245 | qt-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" archive)
|
---|
| 246 | qt-dev-X_Y_Z.wpi - Development libraries, tools and headers ("dev" archive)
|
---|
[397] | 247 |
|
---|
[740] | 248 | These archives are called the official binary archives of the Qt library for
|
---|
| 249 | OS/2. An official binary archive contains the most complete Qt build that
|
---|
| 250 | enables all features of the Qt library and includes all standard Qt plugins
|
---|
| 251 | implemented for the OS/2 platform at the time of the release.
|
---|
[397] | 252 |
|
---|
[740] | 253 | The "lib" archive contains the release versions of DLLs (and may contain a few
|
---|
[397] | 254 | helper binaries) necessary to run applications created using the Qt framework.
|
---|
[740] | 255 | This package is usually installed by end users together with Qt applications
|
---|
[397] | 256 | they want to use.
|
---|
| 257 |
|
---|
[740] | 258 | The "dev" archive contains pre-built release versions of import libraries and
|
---|
[397] | 259 | a complete set of C++ include headers of the Qt framework. This package is used
|
---|
| 260 | by developers and porters of Qt applications to build release versions of the
|
---|
[740] | 261 | applications that are binary compatibie with the Qt runtime provided by the
|
---|
| 262 | official "lib" archive described above. Using the "dev" package requires the
|
---|
| 263 | same environment as described in section "SETTING UP THE ENVIRONMET" above.
|
---|
[397] | 264 |
|
---|
[740] | 265 | Please note again that the "dev" archive is intended to make a final release
|
---|
| 266 | build of the Qt application which you do when you decide to ship a new version
|
---|
| 267 | to the end users -- makes sure that the deployed application will share the same
|
---|
| 268 | Qt runtime with other Qt applications. However, for daily work it is highly
|
---|
| 269 | recommended that you build the debug version of the Qt library yourself (using
|
---|
| 270 | the full source code ZIP archive or directly from SVN) as described in section
|
---|
| 271 | "COMPILING QT").
|
---|
[524] | 272 |
|
---|
[740] | 273 | Besides the "lib" and the "dev" archives, the following official archives exist
|
---|
[541] | 274 | that you may also find useful:
|
---|
[397] | 275 |
|
---|
[541] | 276 | qt-examples-X_Y_Z.wpi - Demo and example sources ("examples")
|
---|
[397] | 277 |
|
---|
[740] | 278 | The "examples" archive contains the source code and compiled binaries of the
|
---|
| 279 | demo and example applications shipped with Qt. They serve as a good
|
---|
| 280 | demonstration of the Qt library features and it is recommended to look at them.
|
---|
| 281 | The binaries are compiled using the official "lib" archive. Please note that
|
---|
| 282 | some demos and examples may miss from the arcvhice since not all features have
|
---|
| 283 | been implemented in the OS/2 version of Qt yet.
|
---|
[408] | 284 |
|
---|
[397] | 285 | NOTE:
|
---|
| 286 |
|
---|
| 287 | All .DLL and .EXE files of the official binary build contain a DESCRIPTION
|
---|
| 288 | string with the vendor field set to "netlabs.org" (by contrast, all custom
|
---|
| 289 | Qt builds will set the vendor field to what the USER environment variable
|
---|
| 290 | contains or to "anonymous" if USER is not set). Please note that you must
|
---|
| 291 | NOT set vendor to "netlabs.org" when creating your own builds of the Qt
|
---|
[740] | 292 | library because it will make it difficult to identify various distributions
|
---|
| 293 | and track possible problems with the builds.
|
---|
[397] | 294 |
|
---|
| 295 |
|
---|
| 296 |
|
---|
[541] | 297 | QMAKE CONFIG OPTIONS
|
---|
| 298 |
|
---|
[740] | 299 | The following CONFIG options of the qmake tool have a special meaning in OS/2:
|
---|
[541] | 300 |
|
---|
| 301 | windows Turns on generation of PM (WINDOWAPI) executables. By
|
---|
| 302 | default, this option is set for release builds that link
|
---|
| 303 | to the Qt GUI library.
|
---|
| 304 |
|
---|
| 305 | console Turns on generation of text mode (WINDOWCOMPAT) executables.
|
---|
| 306 | By default, this option is set when setting the "windows"
|
---|
| 307 | option is not appropriate (see above).
|
---|
| 308 |
|
---|
| 309 | In addition, qmake recognizes the following OS/2-specific CONFIG options:
|
---|
| 310 |
|
---|
| 311 | map Turns on generation of the .map files for executables and
|
---|
| 312 | DLLs. This option is set by default.
|
---|
| 313 |
|
---|
| 314 | exepack Turns on compression for executables and DLLs. The option is
|
---|
| 315 | turned on by default for release builds if configure.cmd
|
---|
| 316 | finds a compression tool (LxLite) in PATH.
|
---|
| 317 |
|
---|
| 318 | highmem Turns on high memory usage for dynamically allocated memory
|
---|
| 319 | in DLLs and executables. When this option is set, a special
|
---|
| 320 | compiler flag (-Zhigh-mem for GCC) is used to enable high
|
---|
| 321 | memory support in the C library (LIBC). This option is set
|
---|
| 322 | by default so that all Qt DLLs and Qt applications built
|
---|
| 323 | with qmake are enabled for high memory. Note that high
|
---|
| 324 | memory support must be enabled for all LIBC-based DLLs
|
---|
| 325 | linked to the executable as well as for the executable
|
---|
| 326 | itself: high memory usage will be disabled if one of them
|
---|
| 327 | votes against it.
|
---|
| 328 |
|
---|
[740] | 329 | export_all Cause the linker to export all public symbols in a generated
|
---|
| 330 | DLL. By default (when this option is absent), only the
|
---|
| 331 | symbols marked with the __declspec(dllexport) compiler
|
---|
| 332 | directive in the source files.
|
---|
[541] | 333 |
|
---|
| 334 |
|
---|
[740] | 335 |
|
---|
| 336 | PRINTING SUPPORT
|
---|
| 337 |
|
---|
| 338 | Starting with version 4.6.2, Qt for OS/2 supports printing through the CUPS
|
---|
| 339 | framework (provided that this support is enabled when building Qt, see the
|
---|
| 340 | respective sections in the beginning of this document). The OS/2 implementation
|
---|
| 341 | of the CUPS framework is provided by the eCUPS package available at
|
---|
| 342 | http://svn.netlabs.org/ecups/.
|
---|
| 343 |
|
---|
| 344 | The Qt Runtime detects the presence of eCUPS in the system on the fly and talks
|
---|
| 345 | to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem.
|
---|
| 346 | This means that in order to print from Qt applications, you don't need to create
|
---|
| 347 | and configure printer objects using the standard OS/2 system printer setup
|
---|
| 348 | procedure -- you only need to install eCUPS and configure your printers in
|
---|
| 349 | there. Please refer to the eCUPS user manual to obtain the detailed instructions
|
---|
| 350 | on how to configure CUPS printers.
|
---|
| 351 |
|
---|
| 352 |
|
---|
| 353 |
|
---|
[429] | 354 | ENVIRONMENT VARIABLES
|
---|
| 355 |
|
---|
| 356 | The Qt library recognizes a number of OS/2-specific environment variables that
|
---|
| 357 | affect its functionality at runtime. The table below lists these variables and
|
---|
| 358 | their meaning:
|
---|
| 359 |
|
---|
[740] | 360 | QT_PM_NO_DIVE If set, Qt will not use DIVE (direct interface video
|
---|
| 361 | extensions) for painting widgets even if DIVE (which
|
---|
| 362 | provides a much faster painting speed than the
|
---|
| 363 | regular GPI approach) is available. Currently, this
|
---|
| 364 | is the default setting if the Panorama video driver
|
---|
| 365 | is detected because its DIVE implementation contains
|
---|
| 366 | a number of bugs.
|
---|
| 367 |
|
---|
| 368 | QT_PM_DIVE=<mode> Enables using DIVE for painting widgets. <mode> is
|
---|
| 369 | one of:
|
---|
| 370 |
|
---|
| 371 | - FB (direct framebuffer access, which is the
|
---|
| 372 | fastest mode but causes the curruption of the
|
---|
| 373 | screen under the software mouse pointer due to
|
---|
| 374 | the limitation of DIVE). If this mode is not
|
---|
| 375 | available, BLIT will be used (see below).
|
---|
| 376 |
|
---|
| 377 | - FBSWM (the same FB but hides the mouse pointer
|
---|
| 378 | before painting which introduces mouse flicker
|
---|
| 379 | and may be a bit slower than the raw FB).
|
---|
| 380 |
|
---|
| 381 | - BLIT (slower than both FB and FBSWM but prevents
|
---|
| 382 | screen corruption under the mouse pointer and
|
---|
| 383 | does not produce a mouse pointer flicker
|
---|
| 384 | effect).
|
---|
| 385 |
|
---|
| 386 | This variable is ignored if QT_PM_NO_DIVE is set. If
|
---|
| 387 | neither this nor the QT_PM_NO_DIVE variable is set,
|
---|
| 388 | the FBSWM mode is used by default (unless the
|
---|
| 389 | current video driver is Panorama, see above).
|
---|
| 390 |
|
---|
[429] | 391 | QT_PM_NO_SOUND_SHARE If set, Qt will open the audio device in exclusive
|
---|
| 392 | only one sound may be played on the computer at a
|
---|
| 393 | time. This mode is recommended for some sound cards
|
---|
| 394 | when using the Uniaud audio driver as it is known to
|
---|
| 395 | have problems with simultaneous playback. In current
|
---|
| 396 | Qt builds, this is the default behavior if neither
|
---|
| 397 | this nor the QT_PM_SOUND_SHARE variable is set.
|
---|
| 398 |
|
---|
| 399 | QT_PM_SOUND_SHARE The opposite to the above. If set, Qt will open the
|
---|
| 400 | audio device in shared mode. This variable is
|
---|
| 401 | ignored if QT_PM_NO_SOUND_SHARE is set.
|
---|
| 402 |
|
---|
| 403 | QT_PM_NO_REGISTRY If set, Qt will not use the Open32 registry to store
|
---|
| 404 | application settings with QSettings. Instead, plain
|
---|
| 405 | text INI files will be used for both NativeFormat
|
---|
| 406 | and IniFormat. Due to a number of problems in the
|
---|
| 407 | Open32 registry implementation (that may easily lead
|
---|
| 408 | to registry corruption), this is the default
|
---|
| 409 | behavior if neither this nor the QT_PM_REGISTRY
|
---|
| 410 | variable is set.
|
---|
| 411 |
|
---|
| 412 | QT_PM_REGISTRY The opposite to the above. If set, Qt will use the
|
---|
[624] | 413 | Open32 registry to store application settings. This
|
---|
| 414 | variable is ignored if QT_PM_NO_REGISTRY is set.
|
---|
[429] | 415 |
|
---|
[624] | 416 | QT_PM_NO_SYSTEM_LOCALE If set, Qt will ignore the regional settings from
|
---|
| 417 | the system locale object found in the Country
|
---|
| 418 | Palette located in the System Setup folder and will
|
---|
| 419 | take them from the internal Qt locale database
|
---|
| 420 | according to the current country and language
|
---|
| 421 | settings. Due to the fact that this internal Qt
|
---|
| 422 | database usually has a better representation of the
|
---|
| 423 | regional settings, this is the default behavior if
|
---|
| 424 | neither this nor the QT_PM_SYSTEM_LOCALE variable is
|
---|
| 425 | set.
|
---|
[429] | 426 |
|
---|
[624] | 427 | QT_PM_SYSTEM_LOCALE The opposite to the above. If set, Qt will use the
|
---|
| 428 | regional settings as found in the default locale
|
---|
| 429 | object set the Country Palette. This variable is
|
---|
| 430 | ignored if QT_PM_NO_SYSTEM_LOCALE is set.
|
---|
[429] | 431 |
|
---|
[624] | 432 | LANG This variable can be used to override the default
|
---|
| 433 | country and language used in the Qt application both
|
---|
| 434 | for regional settings and for translations. The
|
---|
| 435 | format of the value is "ll_CC" where <ll> is the
|
---|
| 436 | two-letter ISO language code and <CC> is the two-
|
---|
| 437 | letter ISO country code. Note that if this variable
|
---|
| 438 | is not set, Qt will derive the language and country
|
---|
| 439 | from the system country code specified in the
|
---|
| 440 | COUNTRY statement of CONFIG.SYS.
|
---|
| 441 |
|
---|
| 442 |
|
---|
| 443 |
|
---|
[740] | 444 | COMMAND LINE OPTIONS
|
---|
[576] | 445 |
|
---|
[740] | 446 | Any Qt executable recognizes a number of command line options that may change
|
---|
| 447 | the behavior of the Qt application. Here are the most interesting ones:
|
---|
[576] | 448 |
|
---|
[740] | 449 | -style <name> Changes the default Qt widget style (theme) to a
|
---|
| 450 | style with the given name. The buiil-in styles which
|
---|
| 451 | are always available in the official build include:
|
---|
| 452 | "windows" (currently, the default on OS/2), "motif",
|
---|
| 453 | "cde", "plastique" and "cleanlooks". Other styles
|
---|
| 454 | may be also provided by the style plugins.
|
---|
[576] | 455 |
|
---|
[740] | 456 | -graphicssystem <name> Changes the graphics system used to paint widgets.
|
---|
| 457 | On OS/2, only two values are supported: "native"
|
---|
| 458 | (the default one) and "raster". The "native" system
|
---|
| 459 | uses DIVE (direct interface video extensions) when
|
---|
| 460 | it is available. If DIVE is not available or if it
|
---|
| 461 | is disabled (see the QT_PM_NO_DIVE environment
|
---|
| 462 | variable description for details), the "raster"
|
---|
| 463 | system will be automatically selected as a fallback.
|
---|
[576] | 464 |
|
---|
| 465 |
|
---|
[740] | 466 |
|
---|
[144] | 467 | CURRENT LIMITATIONS
|
---|
| 468 |
|
---|
[740] | 469 | 1. configure.cmd is does not build demos and examples by default (to save
|
---|
| 470 | time). They may be built by hand, as described above.
|
---|
[144] | 471 |
|
---|
[740] | 472 | 2. configure.cmd does not understand any command line options yet. If you want
|
---|
| 473 | to customize your build of the Qt library (which is normally not
|
---|
| 474 | recommended and not supported), you may try to modify configure.cmd itself.
|
---|
[524] | 475 |
|
---|
[740] | 476 | 3. OS/2 bitmap fonts are not supported. Use TTF or Type1 (PFB) fonts with Qt.
|
---|
[144] | 477 |
|
---|
[740] | 478 | 4. No native PM style, but Qt will use fonts and colors from the current
|
---|
[320] | 479 | OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the
|
---|
| 480 | "Workplace Sans" TTF font from Alex Taylor to get more native look & feel.
|
---|
[740] | 481 | It is recommended to install version 0.7 of the Normal face and version 0.3
|
---|
[320] | 482 | of the Bold face which you can find here:
|
---|
[144] | 483 |
|
---|
[320] | 484 | http://users.socis.ca/~ataylo00/creative/fonts/workplace/
|
---|
[287] | 485 |
|
---|
[740] | 486 | 5. QProcess: when starting PM applications from text-mode applications, the
|
---|
[524] | 487 | returned PID is a PID of the intermediate cmd.exe process, not the target
|
---|
| 488 | application.
|
---|
[145] | 489 |
|
---|
[740] | 490 | 6. The following classes are not available due to their rare usage or low
|
---|
[524] | 491 | importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
|
---|
[740] | 492 | QInputContext. On the source level, a number of macros is defined to
|
---|
| 493 | reflect this, respectively: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
|
---|
| 494 | QT_NO_IM. Normally, Qt applications use these macros in the form of
|
---|
| 495 | "#fndef QT_NO_SOMEFEATURE" to isolate the relevant parts of the code that
|
---|
| 496 | uses these classes so that the application still builds when the
|
---|
| 497 | corresponding feature is missing.
|
---|
[243] | 498 |
|
---|
[740] | 499 | 7. No qt3support module. This functionality is rarely necessary in mature
|
---|
| 500 | real life Qt applications and has low priority. In the code, it is
|
---|
| 501 | reflected by the absense of the QT3_SUPPORT macro.
|
---|
[145] | 502 |
|
---|
[740] | 503 | 8. The following features are missing (either because of the lack of the
|
---|
| 504 | required support from the system side or because of the rare usage):
|
---|
| 505 |
|
---|
| 506 | - IPV6 support in the network module (QT_NO_IPV6 is defined).
|
---|
| 507 | - OpenSSL support in the network module (QT_NO_OPENSSL is defined).
|
---|
| 508 | - phonon module (QT_NO_PHONON is defined).
|
---|
| 509 | - multimedia module (QT_NO_MULTIMEDIA is defined).
|
---|
| 510 | - OpenGL module (QT_NO_OPENGL is defined).
|
---|
| 511 | - declarative module (QT_NO_DECLARATIVE is defined).
|
---|
| 512 | - tablet support (QT_NO_TABLET is defined).
|
---|
| 513 |
|
---|
[524] | 514 | See the project roadmap for more information on the current progress and
|
---|
| 515 | future plans:
|
---|
[144] | 516 |
|
---|
[524] | 517 | http://svn.netlabs.org/qt4/roadmap
|
---|
[144] | 518 |
|
---|
[524] | 519 | Feel free to request new features and report bugs using the project bug
|
---|
| 520 | tracker abaialble at:
|
---|
[188] | 521 |
|
---|
[524] | 522 | http://svn.netlabs.org/qt4/report
|
---|
| 523 |
|
---|
| 524 |
|
---|
| 525 |
|
---|
[144] | 526 | CREDITS
|
---|
| 527 |
|
---|
| 528 | Dmitry A. Kuminov (development)
|
---|
| 529 | Silvan Scherrer (management)
|
---|
| 530 |
|
---|
| 531 | netlabs.org (hosting & support)
|
---|
| 532 |
|
---|
| 533 | Nokia Corporation (original Qt library)
|
---|
| 534 |
|
---|
| 535 | We also want to THANK all individuals and organizations who made the donations
|
---|
| 536 | to this project and helped to make it happen. Please visit
|
---|
| 537 |
|
---|
| 538 | http://qt.netlabs.org/en/site/index.xml
|
---|
| 539 |
|
---|
| 540 | to get the full list of sponsors and to find information on how you can support
|
---|
| 541 | the project.
|
---|
| 542 |
|
---|
| 543 |
|
---|
| 544 | Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
|
---|
| 545 | OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
|
---|
| 546 | eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
|
---|
| 547 | Etc.
|
---|