Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

Описание Класса QApplication
[модуль QtGui]

The QApplication class manages the GUI application's control flow and main settings. More...

#include <QApplication>

Наследует QCoreApplication.

Открытые Типы

Свойства

Открытые Функции

Открытые Слоты

Сигналы

Статические Открытые Членов

Макросы

Дополнительные Унаследованные Члены


Подробное Описание

Класс QApplication управляет главным потоком и основными настройками приложения с GUI.

Он содержит главный цикл обработки сообщений, где обрабатываются и пересылаются все сообщения посланные оконной системой и другими ресурсами. Также тут реализованы инициализация, завершение приложения и управление сессией. Также в данном классе реализованы возможности расширения системы и приложения.

Для любого приложения с GUI использулющего Qt есть ровно один объект QApplication, независимо от того, имеет ли приложение 0, 1, 2 или больше окон в любое времмя. Для преложений Qt не имеющих GUI Qt вместо него используйте ну связанный с библиотекой QtGui QCoreApplication.

Доступ к объекту QApplication можно получить с помощью функции instance(), которая возвращает указатель, эквивалентный глобольному указателю qApp.

Основная область ответственности QApplication:

Также объект QApplication выполняет большую часть инициализации, он должен быть создан прежде, чем будут созданы любые другие объекты интерфейса.

Так как этот объект обрабатывает аргументы командной строки, обычно полезно создавать его прежде, чем будет обработано или изменено argv самим приложением.

Группы функций
Настройка системыdesktopSettingsAware(), setDesktopSettingsAware(), cursorFlashTime(), setCursorFlashTime(), doubleClickInterval(), setDoubleClickInterval(), setKeyboardInputInterval(), wheelScrollLines(), setWheelScrollLines(), palette(), setPalette(), font(), setFont(), fontMetrics().
Обработка сообщенийexec(), processEvents(), exit(), quit(). sendEvent(), postEvent(), sendPostedEvents(), removePostedEvents(), hasPendingEvents(), notify(), macEventFilter(), qwsEventFilter(), x11EventFilter(), x11ProcessEvent(), winEventFilter().
Стили GUIstyle(), setStyle().
Используемые цветаcolorSpec(), setColorSpec(), qwsSetCustomColors().
Обработка текстовinstallTranslator(), removeTranslator() translate().
ВиджетыallWidgets(), topLevelWidgets(), desktop(), activePopupWidget(), activeModalWidget(), clipboard(), focusWidget(), winFocus(), activeWindow(), widgetAt().
Продвинутая обработка курсораoverrideCursor(), setOverrideCursor(), restoreOverrideCursor().
Синхронизация X-вых Оконных СистемflushX(), syncX().
Управление сессиейisSessionRestored(), sessionId(), commitData(), saveState().
ПрочиеcloseAllWindows(), startingUp(), closingDown(), type().

См. также QCoreApplication, QAbstractEventDispatcher, QEventLoop и QSettings.


Описание Типов Членов

enum QApplication::ColorSpec

КонстантаЗначениеОписание
QApplication::NormalColor0установки цветов по умолчанию
QApplication::CustomColor1также как NormalColor, но для X11; установки цветов по запросу от Windows
QApplication::ManyColor2правильный выбор для приложений использующих тысячи цветов

Для получения полной информации см. setColorSpec().

enum QApplication::Type

КонстантаЗначениеОписание
QApplication::Tty0консольное приложение
QApplication::GuiClient1клиентское приложение с GUI
QApplication::GuiServer2серверное приложение с GUI (для Qtopia Core)

Описание Свойств

cursorFlashTime : int

Данное свойство содержит время мигания курсора в миллисекундах.

Время мигания - это время, требуемое для того, чтобы показать, инвертировать и восстановить каретку курсора на экране. Обычно, курсор показывается на экране в течение половины времени мигания и столько-же скрыт, но это может быть изменено.

По умолчнию время мигания в X11 равно 1000 миллисекунд. В Windows это значение устанавливается в панели управления. Виджеты не хранят это значение, т.к. оно может в любое время быть изменено пользователем в глобалных установках.

Обратите внимание, что в Microsoft Windows интервал мигания курсора устанавливается для приложения.

Функции доступа:

doubleClickInterval : int

Данное свойство содержит предел времени в миллисекундах для отличия двойного щелчка мышью от двух последовательных щелчков.

По умолчнию в X11 это значение равно 400 миллисекунд. В Windows и Mac OS X используется аналогичное значение операционной системы.

В Microsoft Windows вызов данной функции устанавливает это значение для приложения.

Функции доступа:

globalStrut : QSize

Данное свойство содержит минимальный размер, который должен иметь элемент GUI, для нормального взаимодействия с пользователем.

Например, ни одна экранная кнопка не должна при изменении своего размера становиться меньше, чем глобальный размер распорки. Размер распорки должен учитываться при использовании GUI в средствах управления таких как контактный экран или других подобных устройствах ввода/вывода.

Пример:

    QSize MyWidget::sizeHint() const
    {
        return QSize(80, 25).expandedTo(QApplication::globalStrut());
    }

Функции доступа:

keyboardInputInterval : int

Данное свойство содержит предел времени в миллисекундах для отличия одиночного нажания клавиши от двух последовательных нажатий.

По умолчанию в X11 данное значение равно 400 миллисекунд. В Windows и Mac OS X это значение равно аналогичному значению операционной системы.

Функции доступа:

layoutDirection : Qt::LayoutDirection

Данное свойство содержит направление расположения по умолчанию для приложения.

При запуске приложения направление расположения зависит от языка приложения.

Функции доступа:

См. также QWidget::layoutDirection, isLeftToRight() и isRightToLeft().

quitOnLastWindowClosed : bool

Данное свойство определяет, завершится ли работа приложения неявно при закрытии последнего окна приложения.

Значение по умолчанию - true.

Если данное свойство равно true, то приложение завершает работу при закрытии последнего видимого окна верхнего уровня (т.е. окна, не имеющего родителя) с установленным атрибутом Qt::WA_QuitOnClose. По умолчанию, этот атрибут установлен у всех виджетов, за исключением временных окон, заставок, окон инструментов и всплывающих меню.

Функции доступа:

См. также quit() и QWidget::close().

startDragDistance : int

Если Вы в своем приложении используете drag and drop и хотите начать операцию перетаскивания после того, как пользователь передвинет курсор с нажатой кнопкой на определенное расстояние, то используйте данное значение в качестве минимального расстояния.

Например, если позиция мыши во время нажания кнопки хранится в startPos, а текущая позиция (например, событие перемещение мыши) в currentPos, Вы можете выяснить пора-ли начинать операцию перетаскивания следующим образом:

    if ((startPos - currentPos).manhattanLength() >=
            QApplication::startDragDistance())
        startTheDrag();

Qt использует это значение неявно, например в QFileDialog.

Значение по умолчанию - 4 пикселя.

Функции доступа:

См. также startDragTime(), QPoint::manhattanLength() и Drag and Drop.

startDragTime : int

Данное свойство хранит интервал времени в миллисекундах, в течение которого должна быть нажата кнопка мыши для начала операции drag and drop.

Если Вы испльзуете drag and drop в Вашем приложении и хотите начать операцию drag and drop после того, как пользователь подержит нажатой кнопку мыши в течение заданного времени, используйте это значение в качестве задержки.

Qt тоже неявно использует это значение, например в QTextEdit и QLineEdit для начала перетаскивания.

По умолчанию это значение равно 500 миллисекунд.

Функции доступа:

См. также startDragDistance() и Drag and Drop.

wheelScrollLines : int

Данное свойство содержит число проматываемых линий при вращении колеса мыши.

Если данное число превышает число видимых линий какого-либо виджета, виджет должет интерпретировать его как количество видимых линий или как операция "page up" или "page down".

Функции доступа:

windowIcon : QIcon

Данное свойство хранит значок приложения по умолчанию.

Функции доступа:

См. также QWidget::setWindowIcon() и Setting the Application Icon.


Описание Функций-Членов

QApplication::QApplication ( int & argc, char ** argv )

Инициализирует оконную систему и создает объект приложения с аргументами командной строки argv в количестве argc.

Глобальный указатель qApp указывает на объект приложения. Только один объект приложения может быть создан.

Данный объект приложения должен быть создан прежде любого устройства рисования (встроенные виджеты, растровые рисунки, битовые карты и т.д.).

Примите во внимание, что argc и argv могут быть изменены. Qt удаляет аргументы командной строки, которые обрабатывает. Настояцие argc и argv могут быть получены через qApp->argc() и qApp->argv(). Описание argv() содержит указание, как лучше обработать аргументы командной строки.

Отладочные опции Qt (недоступные, если Qt компилируется без определения флага QT_DEBUG):

Для получения более подробного объяснения см. Технологии Отладки.

Все программы Qt автоматически поддерживают следующие опции командной строки:

Версия Qt для X11 также поддерживает некоторые традиционные для X11 опции командной строки:

См. также argc() и argv().

QApplication::QApplication ( int & argc, char ** argv, bool GUIenabled )

Создает объект приложения с аргументами командной строки argv в количестве argc. Если GUIenabled равно true, то создается приложение с GUI, в противном случае создается не-GUI приложение (консоль).

Устанавливайте GUIenabled в false для программ без графического пользовательского интерфейса, которые могут работать без оконной системы.

В X11 оконная система инициализируется если GUIenabled равно true. Если GUIenabled равно false, то приложение не сможет соединиться с X-сервером. В Windows и Macintosh по умолчанию оконная система всегда инициализируется независимо от значения GUIenabled. В следующих версиях Qt это может быть изменено.

Следующий пример показывает как создать приложение использующее когда это возможно графический интерфейс.

    int main(int argc, char **argv)
    {
    #ifdef Q_WS_X11
        bool useGUI = getenv("DISPLAY") != 0;
    #else
        bool useGUI = true;
    #endif
        QApplication app(argc, argv, useGUI);

        if (useGUI) {
           // запуск GUI-версии
           ...
        } else {
           // запуск не-GUI-версии
           ...
        }
        return app.exec();
    }

QApplication::QApplication ( int & argc, char ** argv, Type type )

Создает объект приложения с аргументами командной строки argv в количестве argc.

Для Qtopia Core, передавая QApplication::GuiServer в качестве type, можно сделать приложение сервером (эквивалентно запуску с опцией -qws).

QApplication::QApplication ( Display * display, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0 )

Создает приложение учитывая уже открытый дисплей display. Если значения visual и colormap не нулевые, то приложение будет использовать их как значения Visual и Colormap по умолчанию.

Внимание: Qt поддерживает только цветовую модель TrueColor при использовании глубины цвета болшей, чем 8 бит на пиксель.

Данная функция доступна только в X11.

QApplication::QApplication ( Display * display, int & argc, char ** argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0 )

Создает приложение учитывая уже открытый дисплей display и аргументы командной строки argc в количестве argv. Если значения visual и colormap не нулевые, то приложение будет использовать их как значения Visual и Colormap по умолчанию.

Внимание: Qt поддерживает только цветовую модель TrueColor при использовании глубины цвета болшей, чем 8 бит на пиксель.

Данная функция доступна только в X11.

QApplication::~QApplication ()   [virtual]

Освобождает все ресурсы оконной системы занимаемые приложением и устанавливает глобальную переменную qApp в 0.

void QApplication::aboutQt ()   [static slot]

Отображает простое окно сообщений с информацией о Qt. Сообщение включает номер версии Qt используемой приложением.

Это полезно включать в раздел Help меню приложения. См. пример по адресу examples/menu/menu.cpp.

Данная функция - это удобный слот для QMessageBox::aboutQt().

QWidget * QApplication::activeModalWidget ()   [static]

Возвращает активный модальный виджет.

Модальный виджет - это специальный виджет верхнего уровня являющийся подклассом QDialog в конструктор которого передан параметр modal равный true. Пока модальный виджет не закрыт, пользователь не может работать с другими частями программы.

Модальные виджеты помещаются в стек. Данная функция возвращает активный модальный виджет с вершины стека.

См. также activePopupWidget() и topLevelWidgets().

QWidget * QApplication::activePopupWidget ()   [static]

Возвращает активный всплывающий виджет.

Всплывающий виджет - это специальный виджет верхнего уровня, у которого установлен флаг Qt::WType_Popup, например, виджет QMenu. Когда приложение открывает всплывающий виджет, все сообщения направляются к нему. Нормальные и модальные виджеты не могут быть доступны, пока не закрыт всплывающий.

В то время когда показывается всплывающий виджет, только другой всплывающий виджет может быть открыт. Все всплывающие виджеты помещены в стек. Данная функция возвращает активный всплывающий виджет с вершины стека.

См. также activeModalWidget() и topLevelWidgets().

QWidget * QApplication::activeWindow ()   [static]

Возвращает окно приложения верхнего уровня имеющее фокус ввода от клавиатуры или 0 если нет окон приложения имеющих фокус ввода от клавиатуры. Обратите внимание, что может быть activeWindow(), даже если нет focusWidget(), например, если в окне нет виджетов принимающих клавиатурные сообщения.

См. также setActiveWindow(), QWidget::setFocus(), QWidget::hasFocus() и focusWidget().

QWidgetList QApplication::allWidgets ()   [static]

Возвращает список всех виджетов приложения.

Список пустой (QList::isEmpty()) если приложение не содержит виджетов.

Обратите внимание на то, что некоторые виджеты могут быть скрытыми.

Пример:

    void updateAllWidgets()
    {
        foreach (QWidget *widget, QApplication::allWidgets())
            widget->update();
    }

См. также topLevelWidgets() и QWidget::isVisible().

void QApplication::beep ()   [static]

Издает звук с громкостью и частотой используемыми по умолчанию. Функция не доступна в Qtopia Core.

void QApplication::changeOverrideCursor ( const QCursor & cursor )   [static]

Изменяет курсор активного в настоящий момент приложения на cursor.

Данная функция не имеет никакой силы если не вызывалась функция setOverrideCursor().

См. также setOverrideCursor(), overrideCursor(), restoreOverrideCursor() и QWidget::setCursor().

QClipboard * QApplication::clipboard ()   [static]

Возвращает указатель на глобальный буфер обмена.

void QApplication::closeAllWindows ()   [static slot]

Закрывает все окна верхнего уровня.

Данная функция особенно полезна для приложений со многими окнами верхнего уровня. Она может вызываться, например, из пункта меню Выход раздела Файл:

        exitAct = new QAction(tr("E&xit"), this);
        exitAct->setShortcut(tr("Ctrl+Q"));
        exitAct->setStatusTip(tr("Exit the application"));
        connect(exitAct, SIGNAL(triggered()), qApp, SLOT(closeAllWindows()));

Окна будут закрыты в произвольном порядке, пока не останется ни одного окна, способного принять сообщения закрытия. Приложение завершится когда будет закрыто последнее окно; это может быть изменено установной свойства quitOnLastWindowClosed в false.

См. также quitOnLastWindowClosed, lastWindowClosed(), QWidget::close(), QWidget::closeEvent(), lastWindowClosed(), quit(), topLevelWidgets() и QWidget::isWindow().

int QApplication::colorSpec ()   [static]

Возвращает цветовую спецификацию.

См. также QApplication::setColorSpec().

void QApplication::commitData ( QSessionManager & manager )   [virtual]

Данная функция имеет отношение к управлению сессией. Она вызывается тогда, когда QSessionManager требует от приложения передать все его (приложения) данные.

Обычно это означает сохранения всех открытых файлов после получения разрешения от пользователя. Кроме того, Вы, возможно, захотите предусмотреть средства, с помощью которых пользователь сможет отменить закрытие.

Обратите внимание: Вы не должны закрывать приложение в данной функции. Вместо этого, менеджер сессии сделает или не сделает это в зависимости от контекста.

Предупреждение: Внутри данной функции никакое взаимодействие с пользователем невозможно если Вы не спрашиваете у медеджера сессии manager явного разрешения. Для получения подробностей использования и примеров см. QSessionManager::allowsInteraction() и QSessionManager::allowsErrorInteraction().

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

См. также isSessionRestored(), sessionId(), saveState() и Session Management.

QDesktopWidget * QApplication::desktop ()   [static]

Возвращает виджет рабочего стола (также называетмый корневым окном).

Виджет рабочего стола полезен для определения размеров экрана. Также с его помощью можно перерисовать рабочий стол. Мы не рекомендуем создавать приложения использующие рабочий стол, так как они будут работать не на всех операционных системах.

Пример:

    QDesktopWidget *desktop = QApplication::desktop();
    int width = desktop->width();
    int height = desktop->height();

bool QApplication::desktopSettingsAware ()   [static]

Возвращает true если Qt настроен на использование стандартных системных цветов, шрифтов и т.д,; в противном случае возвращает false. Значение по умолчанию - true.

См. также setDesktopSettingsAware().

int QApplication::exec ()   [static]

Запускает цикл обработки сообщений и ждет, пока не будет вызвана exit() или не будет разрушен главный виджет, и возвращает значение установленное в exit() (значение равно 0 если exit() вызвано через quit()).

Эту функцию необходимо вызвать для начала обработки событий. Главный цикл обработки сообщений получает сообщения от оконной системы и пересылает их виджетам приложения.

Вообще говоря, никакое взаимодействие с пользователем не может происходить до вызова exec(). Как частный случай модальный виджет, подобный QMessageBox, может использоваться до вызова exec() потому что модальные виджеты запускают свой локальный цикл обработки сообщений с помощью вызова exec().

Для того, чтобы заставить Ваше приложение выполнять какие-либо действия в свободное время, т.е. выполнять специальную функцию когда нет никаких сообщений в очереди, используйте QTimer с интервалом 0. Более продвинутые системы обработки ожидания могут быть построены с использованием processEvents().

См. также quitOnLastWindowClosed, quit(), exit(), processEvents() и QCoreApplication::exec().

void QApplication::focusChanged ( QWidget * old, QWidget * now )   [signal]

Данный сигнал испускается при переходе фокуса ввода клавиатуры от old к now, если пользователь нажимает клавишу tab-key, щелкает мышью по виджету или сменяет активное окно. Обратите внимание на то, что old и now могут быть пустыми указателями.

Сигнал испускается после того, как оба виджета получают сигналы о смене фокуса через QFocusEvent.

Данная функция добавлена в Qt 4.1.

См. также QWidget::setFocus(), QWidget::clearFocus() и Qt::FocusReason.

QWidget * QApplication::focusWidget ()   [static]

Возвращает виджет приложения, на который установлен фокус ввода или 0 если в данном приложении нет виджетов имеющих фокус.

См. также QWidget::setFocus(), QWidget::hasFocus(), activeWindow() и focusChanged().

QFont QApplication::font ( const QWidget * widget = 0 )   [static]

Возвращает шрифт по умолчанию для виджета widget или, если widget равно 0, шрифт приложения по умолчанию.

См. также setFont(), fontMetrics() и QWidget::font().

QFontMetrics QApplication::fontMetrics ()   [static]

Возвращает экранные метрики шрифта приложения.

См. также font(), setFont(), QWidget::fontMetrics() и QPainter::fontMetrics().

QInputContext * QApplication::inputContext () const

Возвращает экземпляр QInputContext, используемый приложением.

См. также setInputContext().

bool QApplication::isEffectEnabled ( Qt::UIEffect effect )   [static]

Возвращает true если эффект effect доступен; в противном случае возвращает false.

По умолчанию Qt пытается использовать настройки рабочего стола. Для предотвращения этого вызовите setDesktopSettingsAware(false).

Обратите внимание: Все эффекты недоступны на экране, работающем с глубиной цвета, меньшей 16 бит.

См. также setEffectEnabled() и Qt::UIEffect.

bool QApplication::isLeftToRight ()   [static]

Возвращает true если приложение имеет последовательность расположения Qt::LeftToRight; в противном случае возвращает false.

См. также layoutDirection() и isRightToLeft().

bool QApplication::isRightToLeft ()   [static]

Возвращает true если приложение имеет последовательность расположения Qt::RightToLeft; в противном случае возвращает false.

См. также layoutDirection() и isLeftToRight().

bool QApplication::isSessionRestored () const

Возвращает true если приложение было восстановлено от предыдущей сессии; в противном случае возвращает false.

См. также sessionId(), commitData() и saveState().

Qt::KeyboardModifiers QApplication::keyboardModifiers ()   [static]

Возвращает текущее состояние модификаторов клавиш клавиатуры. Текущее состояние обновляется синхронно, как только очередь сообщений освобождается от сообщений, которые могут изменить состояние клавиатуры (QEvent::KeyPress и QEvent::KeyRelease).

Важно помнить, что данная функция не отображает актуального состояния клавиш устройства ввода во время вызова, а, скорее, состояние клавиш, переданное во время вызова одного из ранее перечисленных событий. Если никакие клавиши не нажаты, то возвращается Qt::NoModifier.

См. также mouseButtons().

void QApplication::lastWindowClosed ()   [signal]

Данный сигнал испускается, когда последнее видимое первичное окно (т.е. окно не имеющее родителя) с установленным атрибутом Qt::WA_QuitOnClose закрыто.

По умолчанию,

Данное положение может быть изменено с помощью установки quitOnLastWindowClosed в false.

См. также QWidget::close().

bool QApplication::macEventFilter ( EventHandlerCallRef caller, EventRef event )   [virtual]

Внимание: Данная виртуальная функция доступна только в Mac OS X.

Если Вы создаете приложение, наследующее QApplication и вновь реализуете эту функцию, то с помощью данной функции Вы получаете доступ ко всем Carbon Events получаемым от Mac OS X через caller и event.

Возвратите true если Вы хотите остановить последующую обработку сообщения. Возвратите false для продолжения нормальной обработки. Реализация по умолчанию возвращает false.

Qt::MouseButtons QApplication::mouseButtons ()   [static]

Возвращает текущее состояние кнопок мыши. Текущее состояние обновляется синхронно, как только очередь сообщений освобождается от сообщений, которые могут изменить состояние кнопок мыши (сообщения QEvent::MousePress и QEvent::MouseRelease).

Важно помнить, что данная функция не отображает актуального состояния клавиш устройства ввода во время вызова, а, скорее, состояние клавиш, переданное во время вызова одного из ранее перечисленных событий. Если никакие кнопки не нажаты, то возвращается Qt::NoButton.

См. также keyboardModifiers().

QCursor * QApplication::overrideCursor ()   [static]

Возвращает активный курсор приложения.

Возвращает 0 если никакой курсор приложения не был определен (т.е. внутренний стек курсоров пуст).

См. также setOverrideCursor() и restoreOverrideCursor().

QPalette QApplication::palette ()   [static]

Возвращает палитру приложения.

См. также setPalette() и QWidget::palette().

QPalette QApplication::palette ( const QWidget * widget )   [static]

Данная перегруженная функция-член создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.

Если в widget передан виджет, будет возвращена палитра по умолчанию его класса. Она может оказаться или не оказаться палитрой приложения. В большинстве случаев не устанавливается специальная палитра для некоторых типов виджетов, но есть одно изместное исключение есть - это всплывающее меню в Windows если пользователь установил цвет фона для меню в настройках экрана.

См. также setPalette() и QWidget::palette().

QPalette QApplication::palette ( const char * className )   [static]

Данная перегруженная функция-член создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.

Возвращает палитру виджетов данного имени класса className.

См. также setPalette() и QWidget::palette().

QDecoration & QApplication::qwsDecoration ()   [static]

Возвращает QWSDecoration используемый для оформления окон.

Предупреждение:

Данный метод не-портируется. От доступен только в Qtopia Core.

См. также QDecoration.

bool QApplication::qwsEventFilter ( QWSEvent * event )   [virtual]

Данная виртуальная функция реализована только для Qtopia Core.

Если Вы создаете приложение наследующее QApplication и вновь реализуете эту функцию, Вы получаете доступ ко всем QWS (Оконная Система Q) соощениям, которые поступают от владельца процесса QWS. Данные сообщения передаются в параметре event.

Возвратите true если Вы хотите остановить последующую обработку сообщения. Возвратите false для нормальной обработки соощения. Реализация данной функции по умолчанию возвращает false.

void QApplication::qwsSetCustomColors ( QRgb * colorTable, int start, int numColors )

Устанавливает пользователькую таблицу цветов Qtopia Core.

Qtopia Core на 8-битном дисплеях использует стандартный 216-ти цветовой куб. В собственной таблице цветов можно оставить 40 цветов во владельце процесса QWS перед соединением любых клиентов.

colorTable - это массив, содержащий не более 40 произвольных цветов. start - это начальный индекс (0-39). numColors - количество устанавливаемых цветов (1-40).

Данный метод не-портируется. От доступен только в Qtopia Core.

void QApplication::qwsSetDecoration ( QDecoration * decoration )   [static]

Устанавливает полученный класс QWSDecoration для использования при оформлении окон Qtopia Core в decoration.

Данный метод не-портируется. От доступен только в Qtopia Core.

См. также QDecoration.

QDecoration * QApplication::qwsSetDecoration ( const QString & decoration )   [static]

Данная перегруженная функция-член создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.

Запрашивает объект QDecoration для decoration от QDecorationFactory.

Строка должна быть одной из QStyleFactory::keys().

Более поздний вызов конструктора QApplication отвергнет требование установки стиля, если параметр "-style" будет пропущен в командной строке.

Возвращает 0 если передан неизвестный decoration, в противном случает возвращает QStyle, который можно использовать для установки стиля GUI.

void QApplication::restoreOverrideCursor ()   [static]

Отменяет действие последней setOverrideCursor().

Если setOverrideCursor() вызывался дважды, вызов restoreOverrideCursor() активизирует первый установленный курсор. При вызове данной функции во второй раз, будет установлен первоначальный курсов виджета.

См. также setOverrideCursor() и overrideCursor().

void QApplication::saveState ( QSessionManager & manager )   [virtual]

Данная функция имеет дело с менеджером сессии. Ее вызывает менеджер сессии, когда хочет сохранить состояние приложения для последующих сессий.

Например, текстовый редактор создаст временный файл, который будет содержать информацию о текущем содержимом буфера редактирования, расположенние курсора и других аспектов редактирования текущей сессии редактирования.

Обратите внимание: Вы никогда не должны завершать приложение в данной функции. Вмест этого, менеджер сессии сделает или не сделает это впоследствии в зависимости от контекста. Скажем больше, большинство менеджеров сессии с большой вероятностью запросит сохранение приложения немедленно после начала работы приложения. Это позволяет менеджеру сессии запоминать состояние приложения для перезапуска приложения.

Внимание: никакое взамодействие с пользователем невозможно в данной функции, если не запрошено у менеджера сессии manager явного разрешения на это. Для получения более подробной информации см. QSessionManager::allowsInteraction() и QSessionManager::allowsErrorInteraction().

См. также isSessionRestored(), sessionId(), commitData() и Session Management.

QString QApplication::sessionId () const

Возвращает идентификатор текущей сессии.

Если приложение было восстановлено из предыдущей сессии, то идентификатор будет тот-же самый, что у предыдущей сессии.

Гарантируется уникальность идентификатора для различных приложений и для различных экземпляров одного приложения.

См. также isSessionRestored(), sessionKey(), commitData() и saveState().

QString QApplication::sessionKey () const

Возвращает ключ текущей сессии.

Если приложение было восстановлено из предыдущей сессии, то ключ будет тот-же самый, с которым была закончена предыдущая сессия.

Ключ сессии меняется каждый раз при вызове commitData() или saveState().

См. также isSessionRestored(), sessionId(), commitData() и saveState().

void QApplication::setActiveWindow ( QWidget * active )   [static]

Устанавливает виджет active в качестве активного окна в ответ на сообщение системы. Функция вызывается специальным обработчиком сообщений от платформы.

Внимание: Данная функция не устанавливает фокус ввода от клавиатуры на виджет. Для установки фокуса ввода вызывайте QWidget::activateWindow() вместо этого.

Данная функция устанавливает атрибуты activeWindow() и focusWidget() и посылает сообщения WindowActivate/WindowDeactivate и FocusIn/FocusOut всем необходимым виджетам. Окно будет переведено в активное состояние (например, курсор в строке редактирования будет мигать) и будут доступны все инструменты.

См. также activeWindow() и QWidget::activateWindow().

void QApplication::setColorSpec ( int spec )   [static]

Устанавливает спецификацию цвета в spec.

Цветовая спецификация определяет как приложение будет преобразовывать цвета когда выполняется на дисплее с ограниченным количеством цветов, например 8 бит / 256 цветовые дисплеи.

Цветовая спецификация должна быть установлена прежде, чем Вы создадите объект QApplication.

Возможные варианты:

Помните, что выбор CustomColor и ManyColor может привести к искажению палитры цветов: Приложение переднего плана получает доступ к большему количеству цветов, в то время как окна на заднем плане будут выглядеть менее привлекательными.

Пример:

    int main(int argc, char *argv[])
    {
        QApplication::setColorSpec(QApplication::ManyColor);
        QApplication app(argc, argv);
        ...
        return app.exec();
    }

См. также colorSpec().

void QApplication::setDesktopSettingsAware ( bool on )   [static]

Указывает, должен-ли Qt использовать стандартные системные цвета, шрифты и т.д. По умолчанию true.

Данная функция должна быть вызвана до создания объекта QApplication, например:

    int main(int argc, char *argv[])
    {
        QApplication::setDesktopSettingsAware(false);
        QApplication app(argc, argv);
        ...
        return app.exec();
    }

См. также desktopSettingsAware().

void QApplication::setEffectEnabled ( Qt::UIEffect effect, bool enable = true )   [static]

Если enable равно true, то эффект UI effect доступен для использования, в противном случае эффект не может использоваться.

Обратите внимание: Никакие эффекты не могут использоваться на экранах с глубиной цвета меньше 16 бит.

См. также isEffectEnabled(), Qt::UIEffect и setDesktopSettingsAware().

void QApplication::setFont ( const QFont & font, const char * className = 0 )   [static]

Изменяет шрифт приложения по умолчанию на font. Если className указан, то изменения касаются только классов-наследников className (определяются с помощью QObject::inherits()).

При запуске шрифт приложения по умолчанию зависит от оконной системы. Он может меняться в зависимости от оконной системы и места запуска. Данная функция может отменить использование шрифта по умолчанию, но это может быть не очень хорошей идеей, так как, например, некоторые работчие места нуждаются в очень больших шрифтах для поддержки своих особенностей.

См. также font(), fontMetrics() и QWidget::setFont().

void QApplication::setInputContext ( QInputContext * inputContext )

Данная функция заменяет экземпляр QInputContext используетмый приложением на inputContext.

См. также inputContext().

void QApplication::setOverrideCursor ( const QCursor & cursor )   [static]

Устанавливает курсор приложения в cursor.

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

Установленный курсор будет отображаться над всеми виджетами приложения пока не будет вызвано restoreOverrideCursor() или другое setOverrideCursor().

Курсоры приложения помещаются во внутренний стек. setOverrideCursor() добавляет курсор в стек, а restoreOverrideCursor() удаляет активный курсор из стека. changeOverrideCursor() изменяет текущий курсор приложения. Каждый вызов setOverrideCursor() должен, в конечном счете, сопровождаться вызовом restoreOverrideCursor(), иначе стек никогда не освободится.

Пример:

    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    calculateHugeMandelbrot();              // lunch time...
    QApplication::restoreOverrideCursor();

См. также overrideCursor(), restoreOverrideCursor(), changeOverrideCursor(), and QWidget::setCursor().

void QApplication::setPalette ( const QPalette & palette, const char * className = 0 )   [static]

Заменяет палитру приложения по умолчанию на palette.

Если передано className, то изменения касаются только виджетов наследующих className (определяются с помощью QObject::inherits()). Если className равно 0, то изменения касаются всех виджетов. Все предыдущие установки палитры при этом отменяются.

Палитра может быть изменена в соответствии со стилем GUI в QStyle::polish().

См. также QWidget::setPalette(), palette() и QStyle::polish().

void QApplication::setStyle ( QStyle * style )   [static]

Устанавливает стиль GUI приложения в style. Объект стиля становится сообственностью объекта QApplication и QApplication удалит его при завершении работы или установке другого стиля.

Внимание: Чтобы гарантировать, что стиль приложения будет правильно установлен, лучше, если это возможно, вызвать данную функцию перед вызовом конструктора QApplication.

Пример использования:

    QApplication::setStyle(new QWindowsStyle);

При изменении стиля приложения, цветовая палитра возвращается к первоначальным цветам или цветам системы по умолчанию. Это необходимо, так как некоторые стили должны приспособить цветовую палитру для соответствия принципам стиля.

Обратите внимание, что, если Вы устанавливаете стиль раньше, чем палитру (т.е. до создания QApplication), то приложение будет использовать в качестве палитры QStyle::standardPalette().

См. также style(), QStyle, setPalette() и desktopSettingsAware().

QStyle * QApplication::setStyle ( const QString & style )   [static]

Данная перегруженная функция создана для удобства. Ее поведение аналогично поведению вышеприведенной функции.

Запрашивает объект QStyle для style от QStyleFactory.

Строка должна быть одной из QStyleFactory::keys(). Типичные значения: "windows", "motif", "cde", "plastique", "windowsxp" или "macintosh".

Если передан неизвестный style, возвращает 0. В притивном случает возвращает объект QStyle, который установлен как стиль GUI приложения.

Внимание: Чтобы гарантировать, что стиль приложения будет правильно установлен, лучше, если это возможно, вызвать данную функцию перед вызовом конструктора QApplication.

QStyle * QApplication::style ()   [static]

Возвращает объект стиля приложения.

См. также setStyle() и QStyle.

void QApplication::syncX ()   [static]

Синхронизирует с X-сервером при работе в X11. Обычно это занимает некоторое время. При работе на других платформах ничего не делает.

QWidget * QApplication::topLevelAt ( const QPoint & point )   [static]

Возвращает виджет верхнего уровня расположенный в точке p.

QWidget * QApplication::topLevelAt ( int x, int y )   [static]

Данная перегруженная функция создана для удобства. Ее поведение аналогично поведению вышеприведенной.

Возвращает виджет верхнего уровня расположенный в точке (x, y); если такого виджета нет, возвращает 0.

QWidgetList QApplication::topLevelWidgets ()   [static]

Возвращает список всех виджетов верхнего уровня (окон) в приложении.

Обратите внимание, что некоторые виджеты верхнего уровня могут быть скрыты, например, панель инструментов.

Пример:

    void showAllHiddenTopLevelWidgets()
    {
        foreach (QWidget *widget, QApplication::topLevelWidgets()) {
            if (widget->isHidden())
                widget->show();
        }
    }

См. также allWidgets(), QWidget::isWindow() и QWidget::isHidden().

Type QApplication::type ()   [static]

Возвращает тип приложения (Tty, GuiClient или GuiServer). Тип приложения устанавливается при создании объекта QApplication.

QWidget * QApplication::widgetAt ( const QPoint & point )   [static]

Возвращает виджет, занимающий абсолютную позицию на экране point или 0 если в данной позиции нет виджетов Qt.

Эта функция может выполняться медленно.

См. также QCursor::pos(), QWidget::grabMouse() и QWidget::grabKeyboard().

QWidget * QApplication::widgetAt ( int x, int y )   [static]

Данная перегруженная функция создана для удобства. Ее поведение аналогично поведению вышеописанной функции.

Возвращает виджет, занимающий абсолютную позицию на экране (x, y) или 0 если в данной позиции нет виджетов Qt.

bool QApplication::x11EventFilter ( XEvent * event )   [virtual]

Внимание: Данная виртуальная функция реализована только для X11.

Если Вы создаете приложение наследующее QApplication и заново реализуете данную функцию, то получаете прямой доступ ко всем X-соощениям получаемым от X-сервера. Соощения могут быть переданы через параметр event.

Возвратите true если Вы хотите прервать обработку сообщения. Возвратите false для продолжения нормальной обработки. Реализация по умолчанию возвращает false.

См. также x11ProcessEvent().

int QApplication::x11ProcessEvent ( XEvent * event )

Данная функция обеспечивает ядерную обработку индивидуального X-события event, обычно посылаю событие Qt правильному адресату.

Эта функция возвращает 1 если событие было обработано специальным обработчиком, 0 если событие event было обработано нормальным обработчиком и -1 если событие event было отослано неизвестному виджету.

См. также x11EventFilter().


Описание Макросов

qApp

Глобальный указатель, ссылающийся на уникальный объект приложения. Эквивалентен указателю, возвращаемому функцией QCoreApplication::instance().

Может быть создан только один объект приложения.

См. также QCoreApplication::instance().


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz