2014-10-30 49 views
0

我愿意创建一个使用OpenGL绘制图形的小部件,该图形没有滚动,但可以拖动它以显示图形的其余部分。该图像描述了或多或少的什么我谈论:无滚动但可拖动的小部件

​​

正如你可以看到有指向用户可以拖动和图形的其余部分显示方向的箭头。

从哪里开始?有没有教程或例子有类似的东西?

+1

我想我会用一个OpenGL相机,沿着图形(移动图形的转换矩阵)移动,并完全绕过Qt滚动功能。 – Uroc327 2014-10-30 17:07:07

+0

这可能会奏效,我会试试看。谢谢@ Uroc327 – yayuj 2014-10-30 17:08:58

回答

1

这样的小部件已经存在于Qwt库中,基于Qt的额外工具。

QWT:http://qwt.sourceforge.net/index.html

QwtPlotPanner:使用的http://qwt.sourceforge.net/class_qwt_plot_panner.html

例如:

QwtPlotPanner *d_panner = new QwtPlotPanner(ui->qwtPlot->canvas()); 
d_panner->setMouseButton(Qt::LeftButton); 

其中ui->qwtPlotQwtPlot - 插件用于绘图。

+0

令人惊讶的是,我将检查示例以及如何更好地实现这一点。 – yayuj 2014-10-30 17:17:11

+1

@MrAlmighty注意:Qwt是一款非常强大的工具,不仅仅是绘图,它还是一个第三方库,但它很适合Qt – Chernobyl 2014-10-30 17:19:43

+0

真正的建议是研究并尝试实现我自己的,甚至比Qwt的绘图更简单。它完全重塑了这口井,但我需要了解它是如何工作的。 – yayuj 2014-10-30 17:25:27