在Qt Designer中重写QGraphicsView的paintEvent函数

0 投票
1 回答
772 浏览
提问于 2025-04-18 06:07

我正在用Python写一个简单的应用程序,使用的是PyQt和QtDesigner。我在设计器里设计了一个主视图,里面有一个QGraphicsView和一些按钮。我的问题是,我应该怎么在这个QGraphicsView上画图形呢?

如果没有QtDesigner,我会创建一个类来扩展QGraphicsView,并重写它的paintEvent()方法。不过,Designer生成的是一个单独的Ui_MainWindow类,所以我不能把它的QGraphicsView字段设置为我自己定义的子类。

1 个回答

1

你需要把 QGraphicsView 提升为你自己定义的类,也就是让它成为一个继承自 QGraphicsView 的类。想要了解如何在 Qt Designer 中提升控件,可以看看这个 StackOverflow 的帖子:如何在 Qt Designer 中使用提升功能(pyqt4)?

在你的子类中,你可以像往常一样重写 paintEvent 方法。

撰写回答