Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无滚动但可拖动的小部件_C++_Qt_Qtwidgets - Fatal编程技术网

C++ 无滚动但可拖动的小部件

C++ 无滚动但可拖动的小部件,c++,qt,qtwidgets,C++,Qt,Qtwidgets,我愿意创建一个小部件,使用OpenGL绘制图形,它没有滚动条,但您可以拖动它来显示图形的其余部分。这张图片或多或少地描述了我所说的: 正如您所看到的,有一个箭头指向用户可以拖动的方向,图形的其余部分正在显示 从哪里开始?有没有类似的教程或示例?Qwt库中已经存在这样的小部件,这是基于Qt的附加工具 Qwt: QwtPlotPanner: 用法示例: QwtPlotPanner *d_panner = new QwtPlotPanner( ui->qwtPlot->canvas()

我愿意创建一个小部件,使用OpenGL绘制图形,它没有滚动条,但您可以拖动它来显示图形的其余部分。这张图片或多或少地描述了我所说的:

正如您所看到的,有一个箭头指向用户可以拖动的方向,图形的其余部分正在显示


从哪里开始?有没有类似的教程或示例?

Qwt库中已经存在这样的小部件,这是基于Qt的附加工具

Qwt:

QwtPlotPanner:

用法示例:

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

其中
ui->qwtPlot
是一个用于绘图的
qwtPlot
-小部件。

我想我应该使用一个沿着图形移动的OpenGL相机(移动图形的转换矩阵),完全绕过Qt滚动功能。它可能会工作,我会尝试一下。感谢@UROC327惊人,我将检查示例以及如何更好地实现它。@MrAlmighty注意:Qwt是一个非常强大的工具,它不仅具有绘图功能,而且是一个第三方库,但它非常适合QT。真正的建议是研究并尝试实现我自己的,甚至比Qwt的绘图更简单。这完全是在改造油井,但我需要了解它是如何工作的。