【发布时间】:2017-04-04 13:52:24
【问题描述】:
我有一个学校项目,涉及创建一个简单的 GUI 并使用最少的颜色为图表着色。我正在和一位同学一起工作,到目前为止,我们已经就如何将图形存储在内存中以及如何实现不同的着色算法提出了不同的想法。
为了创建 GUI,我们使用 Qt,因为我之前在另一个项目中使用它,它是免费的,而且我通常发现文档通常很详细。此外,我知道它有一个绘图模块,虽然我从未使用过它。
在阅读文档和一些示例之后,我能够在小部件的设定区域内绘制一些我希望的基本形状,并让它们正确响应调整小部件的大小。
要画我想要的,我可以这样写paintEvent方法,只是永远不要使用*event
void DrawArea::paintEvent(QPaintEvent *event)
{
//method body
}
或者我可以这样写,它也可以工作
void DrawArea::paintEvent(QPaintEvent *)
{
//method body
}
所以,我有两个问题:
小部件如何知道何时调用 paintEvent 方法?
如果我没记错的话,每个小部件都有一个绘制事件,我是 覆盖它?如果有错请指正,也许是这样 为什么我真的不明白这个指针的工作方式。什么是 QPaintEvent 指针? (我的意思是,它代表什么?)
感谢您提供的任何见解
【问题讨论】:
-
QPaintEvent。它提供有关事件的其他信息,特别是小部件的哪些区域需要重新绘制。