c++ - 在 Qt 中绘制小​​部件内部

标签 c++ qt

我创建了一个非常简单的 GUI,它有一个按钮和一个来自显示小部件的“图形 View ”小部件。按下按钮时,我想在“图形 View ”小部件上画一条线。我已通过在设计 View 中右键单击小部件然后选择更改对象名称,将“图形 View ”小部件的名称更改为 gv。我不明白应该如何画线。我阅读了有关 Qt 的各种文本,其中提供了有关 QPainter、PaintEvent 等的信息。但我变得更加困惑。

请帮我解决这个问题。作为 Qt 的新手,一个小的示例代码应该对我很有帮助。

最佳答案

QGraphicsView 用于显示由名为 QGraphicsScene 的组件管理的 QGraphicsItem 实例。在您的情况下,您将创建一个 QGraphicsLineItem并将其添加到场景中,或者通过调用 addLine 直接将其创建为场景的项目。 QGraphicsScene 实例的成员函数。

假设您已正确连接图形 View 和场景,所有绘图都将由 Qt 本身完成。请务必阅读 The Graphics View Framework ,它让您大致了解这些组件的工作原理。

您将在此处找到有关如何使用图形 View 框架管理和显示场景的代码示例:http://doc.trolltech.com/4.6/examples-graphicsview.html

关于c++ - 在 Qt 中绘制小​​部件内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670590/

相关文章:

c++ - 链表中的运行时错误

c++ - MinGW 中的全局重载运算符 new/delete

linux - 中断消息队列原语和系统调用的信号

C++ 比较指向不同类型的指针?

c++ - Clion:如何正确地将图像、xml、资源...添加到 cmake

c++ - 需要 Qt Creator 源文件

C++ : convert date/time string to tm struct

c++ - 如何将 QFormLayout 放入scrollArea 中?

c++ - 在 valgrind 中将 QSharedPointer 与 new[] 一起使用会产生 "Mismatched free()/delete/delete[]"

c++ - 套接字服务器无法接收客户端发送的消息