在 Gtk 中实现此后效功能的最接近的小部件是什么

What's the closest widget to implement this after-effects feature in Gtk

wisget想知道 gtk 中的什么小部件(使用 gtkmm)可以用来实现图片中看起来像可移动按钮的东西。还有虚线。 dotted line 编辑:小部件应该能够沿着时间轨道左右移动,以便能够设置播放范围。这是一段视频,展示了它在 After Effects 中的样子。从第 37 节开始,它的行为应该是这样的。 https://www.youtube.com/watch?v=QxXevteeumg

编辑:从外观上看,没有可以简化此操作的特定小部件。然而,可以使用常规按钮,然后使用与 Gtk 按钮关联的各种信号处理程序实现其拖动方法

没有执行此操作的小部件(请参阅 widget gallery)。

但是,您可以使用 Cairo. In the official Gtkmm book, there is an example for creating a custom clock widget using the Gtk::DrawingArea 添加自定义小部件。 Gtk::DrawingArea 提供了很多您可以连接的信号。

我过去使用它创建了自己的小部件并且它工作得很好。但是,工作量很大,因为:

  1. Cairo 缺乏好的文档。理解这个库背后的哲学需要大量的工作,通常是经验性的。
  2. 使用 Cairo 可能很难达到可接受的性能。在如何执行小部件的绘制方面必须非常小心。通常有一种天真的方法可以做到这一点,这在代码中更清晰,但在性能方面具有破坏性(它通常涉及 CPU 上无用的重绘)。