c++ - 如何在运行时使用 Qt 从一个对象绘制一条线(或箭头)到另一个对象

标签 c++ qt draw lines

我必须使用 Qt 设计一个 GUI。我想画多条线来描述两个对象之间的关系。这与通过在两者之间画一条直线(可能是对角线)来匹配一个词和一个定义是一样的。

在我的例子中,它是一个需要与另一个标签匹配的标签(里面有图像)。

所以我们有这样的东西 - http://dl.dropbox.com/u/46437808/DrawLines.png

我想添加几行使其看起来像这样 http://dl.dropbox.com/u/46437808/DrawLines2.png

我需要在运行时执行此操作,因为关系会根据不同的因素发生变化。

谢谢!

最佳答案

您是否需要交互,或者这只是用户需要根据其他信息看到的图像?如果它只是一个静态图像,我会简单地将它绘制到 QImage 上并显示它。这样你就可以完全控制事物的绘制方式。所以你既可以提前缓存你需要的关系图,也可以根据当时需要显示的关系动态绘制到QImage上。你可以看看Qt's painting example了解有关如何完成所需任务的一些想法。

如果您需要交互性,我可能会选择 Graphics View Framework .这样,如果您出于任何原因需要按钮、复选框等,您可以使用 QGraphicsProxyWidget 来获取它们,或者您可以从 QGraphicsItem 子类中创建自己的。

关于c++ - 如何在运行时使用 Qt 从一个对象绘制一条线(或箭头)到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10971854/

相关文章:

自定义类对象的 C++ vector - 复制构造函数已删除 - std::ifstream

c++ - 3D 重心点交点

c++ - Qt 项目中的前向声明

vba - [Excel][VBA] 如何在图表中画一条线?

c++ - 使用 float 或 double 或 int 的 C/C++ 函数

c++ - 在Qt Creator中使用Guard Malloc(Mac OS)调试

c++ - 检查窗口标题是否可见

winapi - 如何在 C++ WINAPI 中在窗口内绘制图标?

html - Canvas ,负坐标 : Is it bad to draw paths that start off canvas, 并继续?

c++ - Google Protocol Buffers - 对 encode decode base64 char * c string Protocol Buffer 数据感到困惑