crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Свое окно под другим.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
wiz29 Дата 11.2.2011, 17:33
 
Цитата(RazrFalcon @ 11.2.2011, 9:51) *
Так как сделать перехватчик/фильтр положения чужого окна?

Смотри пример в ответе #4, тока вместо MainWindow будет указатель на найденное тобой окно.
RazrFalcon Дата 11.2.2011, 9:51
  Так как сделать перехватчик/фильтр положения чужого окна?
RazrFalcon Дата 8.2.2011, 11:45
  Qxt поставил. Работает.
Окно нахожу, создаю сове где нужно.
Как сделать фильтр этот, на перемещении родительского окна?
RazrFalcon Дата 8.2.2011, 10:52
  Сам виноват...
Разобрался.
Litkevich Yuriy Дата 8.2.2011, 7:44
 
Цитата(RazrFalcon @ 7.2.2011, 23:49) *
Ссылку на описание какое то можно, пожалуйста?
в документации есть ссылка, на главной странице, ищи
RazrFalcon Дата 7.2.2011, 21:49
  Судя по всему Qxt - лучший вариант.
Теперь буду пробовать.
Litkevich Yuriy Дата 7.2.2011, 21:18
  Может быть тогда тебе попробовать ловить события с помощью
bool QApplication::x11EventFilter ( XEvent * event ) [virtual]

Либо воспользоватся сторонней разработкой расширяющей Qt -- Qxt.
В частности классом QxtWindowSystem, с помощью него можно найти идентификатор окна и, потенциально, поставить на это окно фильтр событий
RazrFalcon Дата 7.2.2011, 20:50
 
Цитата(Litkevich Yuriy @ 7.2.2011, 19:47) *
как ты намерен его координаты получать? И вообще определять, что оно изменило положение?

#!/bin/bash
xwininfo -id `wmctrl -l | grep SMPlayer | cut -c1-10`  | grep 'Absolute upper-left X' | cut -c27-
xwininfo -id `wmctrl -l | grep SMPlayer | cut -c1-10`  | grep 'Absolute upper-left Y' | cut -c27-
xwininfo -id `wmctrl -l | grep SMPlayer | cut -c1-10` | grep Width: | cut -c10-
xwininfo -id `wmctrl -l | grep SMPlayer | cut -c1-10` | grep Height: | cut -c11-

Только они аж после того как я переместил меняются <_<

Пример выше не подходит, вроде, это же не мое окно =/


Litkevich Yuriy Дата 7.2.2011, 20:47
  Примерно так:
MainWindow::MainWindow(...)
{
    botomWindow = BotomWindow(this, Qt::Window | Qt::FramelessWindowHint);
    installEventFilter(botomWindow);
}

BotomWindow::eventFilter(QObject *obj, QEvent *event)
{
     if ((event->type() == QEvent::Move) && (obj == parent()) ) {
         // двигаем это нижнее оконо вслед за родителем
         return true;
     } else {
         // standard event processing
         return QObject::eventFilter(obj, event);
     }
}


Цитата(RazrFalcon @ 7.2.2011, 22:43) *
Родитель - не мое окно. Это плеер, или вообще что угодно.
как ты намерен его координаты получать? И вообще определять, что оно изменило положение?
RazrFalcon Дата 7.2.2011, 20:43
  а? я не понял...
Родитель - не мое окно. Это плеер, или вообще что угодно.
Что значит сделать окном "явно"?
Какой фильтр?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.1.2020, 8:33