Описание класса QX11EmbedWidgetКласс QX11EmbedWidget предоставляет клиентский виджет XEmbed. Далее... #include <QX11EmbedWidget> Унаследован от: QWidget. Открытые типы
Открытые функции
Сигналы
Переопределённые защищённые функции
Дополнительные унаследованные члены
Подробное описаниеКласс QX11EmbedWidget предоставляет клиентский виджет XEmbed. XEmbed - это протокол X11, который поддерживает встраивание виджета из одного приложения в другое приложение. Клиентский виджет XEmbed - это окно, которое встраивается в контейнер. Контейнер - это графическое место, которое встраивает (или поглощает) внешнее приложение. QX11EmbedWidget - это виджет, используемый для разработки апплета или подключаемого модуля XEmbed. Когда он встроен и контейнер получает фокус ввода, фокус ввода передаётся в виджет. Когда виджет достигает окончания цепочки фокуса ввода, фокус ввода передаётся обратно в контейнер. Активация окна, акселераторы, модальность и перетаскивание (XDND) также обрабатываются. Инициировать встраивание может как виджет, так и контейнер. Если виджет является инициатором, то в embedInto() должен быть передан идентификатор окна X11 контейнера, в который виджет хочет себя встроить. Если контейнер инициирует встраивание, то должен быть известен идентификатор окна встраиваемого виджета. Контейнер вызывает embed(), передавая идентификатор окна. Этот пример показывает приложение, которое встраивает подкласс QX11EmbedWidget в окно, идентификатор которого передан как параметр командной строки: int main(int argc, char *argv[]) { QApplication app(argc, argv); if (app.arguments().count() != 2) { qFatal("Error - expected window id as argument"); return 1; } QString windowId(app.arguments()[1]); EmbedWidget window; window.embedInto(windowId.toULong()); window.show(); return app.exec(); } Проблема получения идентификатора окна часто решается контейнером, вызывающим приложение, которое предоставляет виджет как отдельный процесс (как панель вызывает прикреплённый апплет), передавая идентификатор окна в новый процесс как параметр командной строки. Новый процесс может вызывать embedInto() с идентификатором окна контейнера, как показано в примере выше. Кроме того, новый процесс может сообщить о своём идентификаторе окна контейнеру через IPC, в этом случае контейнер может встроить виджет. После встраивания виджета посылается сигнал embedded(). Если виджет закрывается контейнером, то виджет посылает сигнал containerClosed(). Если при встраивании возникает ошибка, то посылается сигнал error(). Виджеты XEmbed доступны для KDE и GTK+. Эквивалентом QX11EmbedWidget в GTK+ является GtkPlug. Соответствующий виджет KDE 3 называется QXEmbed. Смотрите также QX11EmbedContainer и XEmbed Specification. Описание типов-членовenum QX11EmbedWidget::Error
Описание функций-членовQX11EmbedWidget::QX11EmbedWidget ( QWidget * parent = 0 )Создаёт объект QX11EmbedWidget с указанным родителем parent. QX11EmbedWidget::~QX11EmbedWidget ()Уничтожает объект QX11EmbedWidget. Если виджет встроен при удалении, то он скрывается и отсоединяется от контейнера, так что контейнер не имеет новых встроенных виджетов. void QX11EmbedWidget::containerClosed () [signal]Этот сигнал посылается клиентом, когда контейнер закрывает виджет. Это может произойти, когда контейнер сам закрывается, либо если виджет отклонён. Контейнер может отклонить виджет по любой причине, но наиболее распространённой причиной отклонения является попытка встраивания виджета в контейнер, у которого уже есть встроенный виджет. WId QX11EmbedWidget::containerWinId () constЕсли виджет встроен, то возвращается идентификатор окна контейнера; в противном случае возвращается 0. void QX11EmbedWidget::embedInto ( WId id )Когда вызывается эта функция, виджет встраивает сам себя в контейнер с идентификатором окна id. Если id не является идентификатором окна контейнера, то эта функция будет вести себя непредсказуемо. void QX11EmbedWidget::embedded () [signal]Этот сигнал посылается виджетом, который был встроен в контейнер XEmbed. Error QX11EmbedWidget::error () constВозвращает тип ошибки, которая произошла последней. Это тот же самый код ошибки, который посылается сигналом error(). Смотрите также Error. void QX11EmbedWidget::error ( QX11EmbedWidget::Error error ) [signal]Этот сигнал посылается, если возникла ошибка в результате встраивания или взаимодействия с контейнером. Указанная ошибка error описывает возникшую проблему. Смотрите также QX11EmbedWidget::Error. bool QX11EmbedWidget::event ( QEvent * event ) [virtual protected]Переопределено от QObject::event(). void QX11EmbedWidget::resizeEvent ( QResizeEvent * event ) [virtual protected]Переопределено от QWidget::resizeEvent(). |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |