【发布时间】:2013-10-20 21:28:22
【问题描述】:
我正在开发一个类似 X-plotter 的小部件,它可以实时绘制传入的数据。 我已经搜索了一种解决方案来实现沿 x 轴滚动,如果小部件有很多值并且它们不适合。
我有以下方法来实现它:
- 从支持滚动和子小部件的小部件派生并添加我自己的小部件,同时在实时更新期间使其越来越大:-> 我需要使用哪个父级以及如何避免绘制所有的东西目前不可见?
- 修改我的小部件以使其支持滚动条本身 -> 但是如何?
- 绘制/处理我自己的滚动条 -> 最坏的情况:(
我确实在网上搜索了建议或示例,但是没有关于如何以一种好的方式“构建”自定义控件(除了绘制一些东西)特别是。在交互的情况下... 抱歉,总的来说我是 GTK 的新手:/
【问题讨论】:
-
您可以添加一些代码或链接到您当前正在尝试的内容吗?没有足够的上下文来说明您在此处询问的内容。
-
@ChristianTernus 整个代码有点多,但我会尝试添加重要的东西: * ownwidget 基于 gtk.Drawingarea) * 放置在应用程序窗口的 VBOX * 仅使用 ATM do_expose 触发绘制,没有尺寸要求等 * 内部使用 CAIRO 绘制
-
为什么不能使用已经为您提供所有这些的画布库?比如 GooCanvas,或者对于更复杂的东西,Clutter?
-
谢谢,我会检查一下。在我的小部件开始时我不知道这部分会变得那么棘手;)
-
@giamt 所以 GooCanvas 用于 C++,而 Clutter 使用 OpenGL。但我尝试创建一个依赖最少的 Python 应用程序(对不起,将其添加到标题中)。
标签: python gtk custom-controls scrollbar pygtk