Глобальные специализированные функции, экспортируемые Qt
Qt предоставляет несколько низкоуровневых глобальных функций для тонкой настройки приложений. Большинство из них выполняют очень специфичные задачи и являются платформо-зависимыми. Вообще, мы рекомендуем чтобы вы попытались использовать открытый API Qt перед обращением к использованию любых функций упомянутых здесь.
Эти функции экспортируются модулями QtCore и QtGui, но большинство из них не объявлены в заголовочных файлах Qt. Чтобы использовать их в ваших приложениях, вы должны объявить их перед вызовом. Например:
#ifdef Q_WS_X11
void qt_x11_wait_for_window_manager(QWidget *widget);
#endif
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
...
window.show();
#ifdef Q_WS_X11
qt_x11_wait_for_window_manager(&window);
#endif
...
return app.exec();
}
Эти функции остаются частью Qt в течение жизни Qt 4.
Функции:
void qt_set_library_config_file(const QString &fileName)
Указывает расположение конфигурационного файла Qt. Вы должны вызвать эту функцию перед созданием объекта QApplication или QCoreApplication. Если расположение не указано, Qt автоматически найдёт соответствующее расположение.
void qt_set_sequence_auto_mnemonic(bool enable)
Указывает будут или нет обрабатываться мнемоники для пунктов меню, меток и т.д. В Windows и X11 эта возможность включена по умолчанию; в Mac OS X - отключена. Когда эта возможность отключена, функция QKeySequence::mnemonic() всегда возвращает пустую строку. Эта возможность также включена во встраиваемом Linux.
void qt_x11_wait_for_window_manager(QWidget *widget)
Блокирует пока оконный менеджер X11 показывает виджет после вызова QWidget::show().
void qt_mac_secure_keyboard(bool enable)
Включает или выключает возможность защищённой клавиатуры Mac OS X. QLineEdit использует это, когда режим "эха" QLineEdit::Password или QLineEdit::NoEcho для защиты редактора от пассивного прослушивания клавиатуры. Если вы реализуете свой редактор паролей, вы можете захотеть включить эту возможность в focusInEvent() вашего редактора и выключить её в focusOutEvent().
void qt_mac_set_dock_menu(QMenu *menu)
Устанавливает отображение меню в Mac OS X Dock для приложения. Это меню показывается когда пользователь щелкает с нажатой клавишей Ctrl по пиктограмме приложения во время его работы.
void qt_mac_set_menubar_icons(bool enable)
Указывает будут ли пиктограммы, связанные с пунктами меню для панели меню приложения, показаны в Mac OS X. По умолчанию, пиктограммы показываются в Mac OS X так же как на других платформах.
В Qt 4.4 это эквивалентно QApplication::instance()->setAttribute(Qt::AA_DontShowIconsInMenus);.
void qt_mac_set_menubar_merge(bool enable)
Указывает будет ли Qt пытаться передвинуть стандартные пункты меню (такие как Quit, Preferences и About) в меню приложения в Mac OS X. Эта возможность по умолчанию включена. Список пунктов меню, для которых это применимо, смотрите в Проблемах, специфичные для Qt на Mac OS X.
void qt_mac_set_native_menubar(bool enable)
Указывает будет ли приложение использовать "родную" панель меню в Mac OS X или будет часть главного окна. Эта возможность по умолчанию включена.
void qt_mac_set_dock_menu(QMenu *menu)
Устанавливает это меню в качестве меню, показываемом когда нажимается и пытается удерживать на пиктограмме dock вашего приложения. Меню превратится в меню Mac, которое будет сливаться со встроенными командами Mac OS X.
void qt_mac_set_press_and_hold_context(bool enable)
Включает или выключает эмуляцию правой кнопки мыши с помощью щелчка и удерживания левой кнопки мыши. Эта возможность по умолчанию отключена.
|