Вход/Регистрация
QT 4: программирование GUI на С++
вернуться

Саммерфилд Марк

Шрифт:

Подобное совмещение вызовов QPainter и GDI иногда может дать странный результат, особенно когда вызовы QPainter выполняются после вызовов GDI, потому что QPainter делает некоторые предположения о состоянии базового уровня рисования.

Qt определяет один из следующих четырех символов оконной системы: Q_WS_WIN, Q_WS_X11, Q_WS_MAC и Q_WS_QWS (Qtopia). Мы должны обеспечить включение хотя бы одного заголовка Qt перед их использованием в приложениях. Qt также обеспечивает препроцессорные символы для идентификации операционной системы:

• Q_OS_AIX

• Q_OS_BSD4

• Q_OS_BSDI

• Q_OS_CYGWIN

• Q_OS_DGUX

• Q_OS_DYNIX

• Q_OS_FREEBSD

• Q_OS_HPUX

• Q_OS_HURD

• Q_OS_IRIX

• Q_OS_LINUX

• Q_OS_LYNX

• Q_OS_MAC

• Q_OS_NETBSD

• Q_OS_OPENBSD

• Q_OS_OS2EMX

• Q_OS_OSF

• Q_OS_QNX6

• Q_OS_QNX

• Q_OS_RELIANT

• Q_OS_SCO

• Q_OS_SOLARIS

• Q_OS_ULTRIX

• Q_OS_UNIXWARE

• Q_OS_WIN32

• Q_OS_WIN64

Мы можем считать, что по крайней мере один из этих символов будет определен. Для удобства Qt также определяет Q_OS_WIN, когда обнаруживается Win32 или Win64, и Q_OS_UNIX, когда обнаруживается любая операционная система типа Unix (включая Linux и Mac OS X). Во время выполнения приложений мы можем проверить QSysInfo::WindowsVersion или QSysInfo::MacintoshVersion для установки отличий между различными версиями Windows (2000, ME и так далее) или Mac OS X (10.2, 10.3 и так далее).

Кроме макросов операционной и оконной систем существует также ряд макросов компилятора. Например, Q_CC_MSVC определяется в том случае, если компилятором является Visual С++ компании Microsoft. Такие макросы полезны, когда приходится обходить ошибки компилятора.

Несколько классов графического пользовательского интерфейса Qt обеспечивают зависимые от платформы функции, которые возвращают описатели (handle) базового объекта для низкоуровневой обработки. Они перечислены на рис. 20.2:

Mас OS X:

• ATSFontFormatRef QFont::handle;

• CGImageRef QPixmap::macCGHandle;

• GWorldPtr QPixmap::macQDAlphaHandle;

• GWorldPtr QPixmap::macQDHandle;

• RgnHandle QRegion::handle;

• HIViewRef QWidget::winId;

Windows:

• HCURSOR QCursor::handle;

• HDC QPaintEngine::getDC;

• HDC QPrintEngine::getPrinterDC;

• HFONT QFont::handle;

• HPALETTE QColormap::hPal;

• HRGN QRegion::handle;

• HWND QWidget::winId;

X11:

• Cursor QCursor::handle;

• Font QFont::handle;

• Picture QPixmap::x11PictureHandle;

• Picture QWidget::x11PictureHandle;

• Pixmap QPixmap::handle;

• QX11Info QPixmap::x11Info;

• QX11Info QWidget::x11Info;

• Region QRegion::handle;

• Screen QCursor::x11Screen;

• SmcConn QSessionManager::handle;

• Window QWidget::handle;

• Window QWidget::winId;

  • Читать дальше
  • 1
  • ...
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: