Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Qt 草图/绘图应用程序的小部件_Qt_User Interface_Vector Graphics_Cartography - Fatal编程技术网

Qt 草图/绘图应用程序的小部件

Qt 草图/绘图应用程序的小部件,qt,user-interface,vector-graphics,cartography,Qt,User Interface,Vector Graphics,Cartography,我正在尝试为制图中的一个特定问题构建一个小应用程序。工作流程如下所示: 在野外,使用指南针和卷尺获取地形数据 同样在现场,绘制被测地块的草图 使用inkscape创建该草图的矢量图形 分析数据以获得相关信息(已实施) 将矢量和数据放在一起(主要是扭曲和缩放图形-已实现) 现在,我想直接在我的自定义应用程序中进行矢量化,这有助于我更快地描述草图的特征 我看过Inkscape和Karbon代码库,但是负责绘制曲线和路径的小部件以及整个用户交互部分的代码非常复杂。我想坚持数字运算,确保它能正常工作

我正在尝试为制图中的一个特定问题构建一个小应用程序。工作流程如下所示:

  • 在野外,使用指南针和卷尺获取地形数据
  • 同样在现场,绘制被测地块的草图
  • 使用inkscape创建该草图的矢量图形
  • 分析数据以获得相关信息(已实施)
  • 将矢量和数据放在一起(主要是扭曲和缩放图形-已实现)
现在,我想直接在我的自定义应用程序中进行矢量化,这有助于我更快地描述草图的特征

我看过Inkscape和Karbon代码库,但是负责绘制曲线和路径的小部件以及整个用户交互部分的代码非常复杂。我想坚持数字运算,确保它能正常工作

简言之,我正在寻找类似Qwt(它提供绘图实用程序)的东西,但直接将矢量绘图/草图功能添加到应用程序中。然后就是把GUI部件组装起来的问题了,我就不用担心数字运算了。到目前为止,我还找不到类似的东西——Inkscape、Karbon、Libreoffice、Printdesign、Gimp,它们都实现了自己的路径、曲线小部件,使用框架的图形原语并添加了所有显示曲线随鼠标移动的代码、控制点等

有人知道这样一个高级图形的预先制作的框架——让我忘记了GUI代码——是否存在吗?
谢谢

qgraphicscene
QGraphicsView
为您提供了足够的功能,可以相当简单地实现其余部分。请注意,Qt有一组相当丰富的图形原语,您可以轻松地重用,如贝塞尔曲线、路径等。您需要实现特定于应用程序的位,但基本操作已经完成。

感谢您的回答!我已经读了很多你的帖子,总是很有用的!事实上,Qt类提供了足够的功能——这就是Karbon所使用的。但让我们举一个例子:bezier曲线原语就是,所有实际绘制用户所看到的东西的代码(移动鼠标时的曲线移动、控制点和所有重新绘制)都必须写在上面。这就是我试图通过使用预制代码来逃避的……谢天谢地,你所说的代码相当琐碎。它不容易推广,因为每个应用程序都有自己的需求——它提供了什么原语,它如何让您与它们交互,等等。好吧,恢复它,那么,目前还没有这样的小部件集。真遗憾。无论如何谢谢你@雷纳托:如果你想到这样一个小部件的功能,看看周围提供类似用户界面的软件,你会很快意识到不可能比系统已经做的更多。其他一切都是特定于应用程序的。