Название: QX11EmbedContainer в никсах.... Отправлено: sergebegger от Июль 11, 2010, 16:01 Подскажите пожалуйста:
Имеется класс.... Код: navi::navi(QWidget *parent) : Как исправить ??? Название: Re: QX11EmbedContainer в никсах.... Отправлено: GreatSnake от Июль 12, 2010, 10:46 А без выставления "NAVIT_XID", т.е. navit в своём окне, всё нормально?
Название: Re: QX11EmbedContainer в никсах.... Отправлено: sergebegger от Июль 12, 2010, 15:41 А без выставления "NAVIT_XID", т.е. navit в своём окне, всё нормально? Да, в своём окне Navit функционирует нормально, и даже если сделать методом проб и ошбок -например так:setWindowFlags(Qt::SplashScreen); т.е. Navit в отдельном виджете - то всё функционирует нормально.... Название: Re: QX11EmbedContainer в никсах.... Отправлено: andrew.k от Октябрь 28, 2010, 15:50 А без выставления "NAVIT_XID", т.е. navit в своём окне, всё нормально? Да, в своём окне Navit функционирует нормально, и даже если сделать методом проб и ошбок -например так:setWindowFlags(Qt::SplashScreen); т.е. Navit в отдельном виджете - то всё функционирует нормально.... А у меня другая проблема. После слияния встроенный виджет (и все его дочерние) не могут получить фокус. Работают только щелчки мышкой. Например щелчок на кнопке срабатывает и выполняется связаный с ним сигнал. А например, в текстовое поле нельзя ничего ввести с клавиатуры. Вторая проблема, что встроенный виджет не ресайзится по правилам лэйаута в котором он лежит. Он становится фиксированного размера и при чрезмерном уменьшении формы например, просто уезжает за край (т.е. половина виджета видна, половина нет). Почему так? кто с этим сталкивался? qt4.4 ОС МСВС (линукс) Название: Re: QX11EmbedContainer в никсах.... Отправлено: BigZ от Октябрь 28, 2010, 17:46 А без выставления "NAVIT_XID", т.е. navit в своём окне, всё нормально? Да, в своём окне Navit функционирует нормально, и даже если сделать методом проб и ошбок -например так:setWindowFlags(Qt::SplashScreen); т.е. Navit в отдельном виджете - то всё функционирует нормально.... А у меня другая проблема. После слияния встроенный виджет (и все его дочерние) не могут получить фокус. Работают только щелчки мышкой. Например щелчок на кнопке срабатывает и выполняется связаный с ним сигнал. А например, в текстовое поле нельзя ничего ввести с клавиатуры. Вторая проблема, что встроенный виджет не ресайзится по правилам лэйаута в котором он лежит. Он становится фиксированного размера и при чрезмерном уменьшении формы например, просто уезжает за край (т.е. половина виджета видна, половина нет). Почему так? кто с этим сталкивался? qt4.4 ОС МСВС (линукс) http://library.gnome.org/devel/gtk/unstable/GtkSocket.html? Мы оказались от QX11EmbedContainer в пользу gtk_socket_new(), когда встраивали Flash Player в Qt в компоненте - http://www.devmachines.com/qtitanmm_descr.php. Там нужно прослойку небольшую написать, но в результате получаем стабильную схему. Единственное условие - ваша Qt должна быть на GTK эвентлупе Название: Re: QX11EmbedContainer в никсах.... Отправлено: andrew.k от Октябрь 28, 2010, 18:40 А без выставления "NAVIT_XID", т.е. navit в своём окне, всё нормально? Да, в своём окне Navit функционирует нормально, и даже если сделать методом проб и ошбок -например так:setWindowFlags(Qt::SplashScreen); т.е. Navit в отдельном виджете - то всё функционирует нормально.... А у меня другая проблема. После слияния встроенный виджет (и все его дочерние) не могут получить фокус. Работают только щелчки мышкой. Например щелчок на кнопке срабатывает и выполняется связаный с ним сигнал. А например, в текстовое поле нельзя ничего ввести с клавиатуры. Вторая проблема, что встроенный виджет не ресайзится по правилам лэйаута в котором он лежит. Он становится фиксированного размера и при чрезмерном уменьшении формы например, просто уезжает за край (т.е. половина виджета видна, половина нет). Почему так? кто с этим сталкивался? qt4.4 ОС МСВС (линукс) http://library.gnome.org/devel/gtk/unstable/GtkSocket.html? Мы оказались от QX11EmbedContainer в пользу gtk_socket_new(), когда встраивали Flash Player в Qt в компоненте - http://www.devmachines.com/qtitanmm_descr.php. Там нужно прослойку небольшую написать, но в результате получаем стабильную схему. Единственное условие - ваша Qt должна быть на GTK эвентлупе Думаю это слишком сложный вариант. Особенно с учетом того, что я не понимаю, что такое "ваша Qt должна быть на GTK эвентлупе". Название: Re: QX11EmbedContainer в никсах.... Отправлено: GreatSnake от Октябрь 28, 2010, 18:47 Вот работающий пример:
Код
Единственный косяк - фокус во встроенном окне начинает работать только после нажатий на Tab. Название: Re: QX11EmbedContainer в никсах.... Отправлено: BigZ от Октябрь 28, 2010, 19:17 Думаю это слишком сложный вариант. Особенно с учетом того, что я не понимаю, что такое "ваша Qt должна быть на GTK эвентлупе". Речь про этот механизмhttp://labs.qt.nokia.com/2006/02/24/qt-and-glib/ |