Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » как в pyGTK перемещать окно мышью? [RSS Feed]

#1 Ноя. 19, 2008 20:58:07

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

Подскажите как в pyGTK сделать, чтобы окно можно было перемещать при нажатой кнопке мыши в области окна? надо отлавливать нажатие кнопки, отслеживать координаты курсора и двигать по ним окно или есть способ по проще?

еще как можно сделать окно которое отдетачивается от handlebox - поверх всех окон - в документации написано про простые окна, что не рекомендуется делать т.к. этим должен заниматься виндовс менеджер но на win его как такового нет ..а у handlebox даже и свойства такого нет



Отредактировано (Ноя. 20, 2008 00:49:21)

Офлайн

#2 Ноя. 20, 2008 17:55:24

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

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



Офлайн

#3 Ноя. 20, 2008 20:41:07

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

а что за утилиты? если такие которые можно встроить в приложение?
в общем надо это для того чтобы сделать нечто похожее на “корзинку” как например у flashget, в которую пользователь может перетащить драг анд дропом файлы. Помнится в linux у kget тоже есть такая - в виде синей стрелки, да и если вспомнить у многих прог есть подобные окна.

Может я проcто не понимаю и пытаюсь делать это с помощью окна а нужен какой-то другой виджет или еще что?



Отредактировано (Ноя. 20, 2008 21:29:01)

Офлайн

#4 Ноя. 20, 2008 21:20:07

The gray Cardinal
От:
Зарегистрирован: 2007-03-07
Сообщения: 422
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

Скажу честно, утилит, которые можно “встроить в приложение” - не знаю. Есть утилита AutoHotkey, на скриптовом языке которой можно написать скрипт, который даст возможность перемещать любое окно таким способом.
P.S. Может, насчёт “овчинки” я и не прав.



Офлайн

#5 Ноя. 21, 2008 01:09:31

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

вот что то похожее есть в доке:

gtk.Window.begin_move_drag

def begin_move_drag(button, root_x, root_y, timestamp)

button :
the mouse button that initiated the drag

root_x :
the X position where the user clicked to initiate the drag, in root window coordinates

root_y :
the Y position where the user clicked to initiate the drag

timestamp :
the timestamp from the click event that initiated the drag

The begin_move_drag() method starts moving a window when the user presses the mouse button specified by button at the location specified by root_x and root_y at the time specified by timestamp. This method is used if an application has window movement grips. When PyGTK can support it, the window movement will be done using the standard mechanism for the window manager or windowing system. Otherwise, PyGTK will try to emulate window movement, potentially not all that well, depending on the windowing system.
только не пойму от куда все это : “button, root_x, root_y, timestamp” взять? у меня опыт c gtk да и вобще с gui не большой)



Отредактировано (Ноя. 21, 2008 01:13:00)

Офлайн

#6 Ноя. 21, 2008 07:36:29

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

Привет.
Я нашел у себя в SUSE примерчик DragDropDemo.py и к нему dndpixmap.py ( образы открытой и закрытой корзины
- Trash). Если хотите могу переслать. Но там непросто все(имхо) :)



Офлайн

#7 Ноя. 21, 2008 11:40:16

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

как в pyGTK перемещать окно мышью?

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

что это за функция gtk.Window.begin_move_drag ? не она ли



Отредактировано (Ноя. 21, 2008 11:40:59)

Офлайн

  • Начало
  • » GUI
  • » как в pyGTK перемещать окно мышью?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version