Gtk / Gtkmm Кинетическая прокрутка

Я разрабатываю графический интерфейс, который требует кинетической прокрутки для моего приложения, и я использую GTK (из Qt), и у меня есть следующий код:

   Gtk::Window * wnd          = new Gtk::Window();
   Gtk::ScrolledWindow * scr  = new Gtk::ScrolledWindow();
   Gtk::Layout * lay          = new Gtk::Layout();
   Gtk::VBox *   vbox         = new Gtk::VBox();

   wnd->add(*scr);
   scr->add(*vbox);

   for (int i = 0; i < 20; i++)
   {
      Gtk::Button * btn = new Gtk::Button();
      btn->set_label("Click Me");

      vbox->pack_start(*btn);
      btn->show();
   }

   scr->set_kinetic_scrolling(true);

   wnd->show();
   scr->show();
   lay->show();
   vbox->show();

и вот что вы получаете:

введите здесь описание изображения

Эта 1ScrolledWindow.html#a88132d21cc8378c793889b9fa20ac1ca" rel="nofollow noreferrer">ссылка говорит мне следующее:

void Gtk::ScrolledWindow::set_kinetic_scrolling ( bool kinetic_scrolling = true )

Включает или выключает кинетическую прокрутку.

Кинетическая прокрутка применима только к устройствам с источником Gdk::SOURCE_TOUCHSCREEN.

Начиная с gtkmm 3.4:

Параметры kinetic_scrolling — true, чтобы включить кинетическую прокрутку.

Я попытался схватить кнопку мышью и кинетически прокрутить, но, как и ожидалось, это не сработало. У меня пока нет сенсорного экрана, и мне нужно поэкспериментировать с мышью. Можно ли как-нибудь это сделать?

Я также нашел следующее:

enum InputSource {
  SOURCE_MOUSE,
  SOURCE_PEN,
  SOURCE_ERASER,
  SOURCE_CURSOR,
  SOURCE_KEYBOARD,
  SOURCE_TOUCHSCREEN,
  SOURCE_TOUCHPAD,
  SOURCE_TRACKPOINT,
  SOURCE_TABLET_PAD
}
    An enumeration describing the type of an input device in general terms.

Есть ли способ эмулировать тип устройства? Я хочу увидеть, как это работает.


person marko    schedule 03.02.2018    source источник


Ответы (1)


У вас должно быть событие касания. Используйте GtkInspector (Ctrl+Shift+I), затем на вкладке Визуальные установите Имитация сенсорного экрана< /strong> (как показано ниже):

введите здесь описание изображения

Он должен работать. Подробнее о Gtk Inspector

person José Fonte    schedule 03.02.2018