我想使用 QT 创建一个矩形板。此板将在执行一个步骤时更新。例如在第 x 步,单元格 5,6 中的文本从“未探索”更新为“已探索”。
我查看了 QT 文档并找到了QGraphicsView类。如何使用QGraphicsItem模拟可以写入文本的单元格?
我也对替代品持开放态度。
我想使用 QT 创建一个矩形板。此板将在执行一个步骤时更新。例如在第 x 步,单元格 5,6 中的文本从“未探索”更新为“已探索”。
我查看了 QT 文档并找到了QGraphicsView类。如何使用QGraphicsItem模拟可以写入文本的单元格?
我也对替代品持开放态度。
从技术上讲,这也可以通过自定义 QTableView/Widget 来完成,但QGraphicsScene
对于自定义图形和性能来说更加健壮。
从高级视图来看,您可以创建一个表示“单元”项的复合对象,也可以将 a 子类QGraphicsItem
化并自己完成所有自定义绘制。
创建复合对象时,它只是一个QGraphicsItem
“Cell”子类,其中可能包含 aQGraphicsRectItem
和 aQGraphicsTextItem
作为成员,设置为作为父级的单元格实例。这将使子项与父单元格项一起翻译。
创建完全自定义QGraphicsItem
的 时,您将在该方法内定义所有绘画,该paint()
方法将绘制一个矩形,并从实例上设置的值中获取文本。