我正在设计一个需要对应用程序进行动态滚动的GUI,并且正在使用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();
这就是你得到的:
这个link告诉我以下内容:
我试图用鼠标捕获按钮并进行动态滚动,但是按预期,它不起作用。我还没有触摸屏,我需要用鼠标做实验,有什么办法可以做到这一点?
我还发现了following:
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.
有什么方法可以模拟设备的类型?我想看到它的运作。
最佳答案
您必须有一个触摸事件。使用GtkInspector(Ctrl + Shift + I),然后在可视选项卡中,设置模拟触摸屏(如下所示):
它应该工作。 More on Gtk Inspector