Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Gtk#: отрисовка точек по пути курсора на объекте DrawingArea  (Прочитано 1048 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mixim

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Необходимо в свою программу добавить немного графики, а именно предоставить пользователю возможность рисовать на форме с помощью мыши (провел мышью с зажатой левой клавишей и по её маршруту нарисовалась кривая). Бросил на форму объект ScrolledWindow, внутрь которого поместил DrawingArea. Осталось только отлавливать событие движение мышью на DrawingArea, но у него нет MouseMove и чего либо подобного. Каким тогда образом можно отслеживать положение курсора на форме, DrawingArea и рисовать линию по маршруту его движения?

Оффлайн cav

  • Любитель
  • *
  • Сообщений: 57
    • Просмотр профиля
    • Истории одного программера
The "motion-notify-event" gtk.Widget Signal

    def callback(widget, event, user_param1, ...)
widget :

the widget that received the signal
event :

the event that triggered the signal
user_param1 :

the first user parameter (if any) specified with the connect() method
... :

additional user parameters (if any)
Returns :

True to stop other handlers from being invoked for the event. False to propagate the event further
The "motion-notify-event" signal is emitted when the mouse pointer moves while over widget.
Ну и разрешить DrawingArea отлеживать сигнал
(Ubuntu 12.04, Ubuntu 10.04)
http://cavinc.blogspot.com/

Оффлайн Mixim

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Ну и разрешить DrawingArea отлеживать сигнал
Спасибо. Пока что сделал следующим образом: повесил на событие MotionNotifyEvent обработчик и не забыл выбрать в свойствах Events значение "All pointer motion". Сейчас буду смотреть как это работает
Подскажи пожалуйста, а каким образом можно в этом методе проверить, что нажата левая/правая клавиша мыши?
« Последнее редактирование: 10 Декабря 2012, 11:22:27 от Mixim »

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.