Я разрабатываю графический интерфейс, который требует кинетической прокрутки для моего приложения, и я использую 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.
Есть ли способ эмулировать тип устройства? Я хочу увидеть, как это работает.