如何绘制带圆角的QPixmap?

3

我继承了QGraphicsPolygonItem类,希望在该项的顶部绘制一个QPixmap。该项本身和QPixmap应该都要绘制成圆角矩形。

您该如何操作呢?


在查阅了Meta Stackoverflow之后,我已经重新考虑关闭这个问题,依据于这个讨论:http://meta.stackoverflow.com/questions/250204/can-you-answer-your-own-questions-on-stack-overflow 。尽管我同意@DominikSelzer的想法,这本应该是一个简单的谷歌搜索。 - TheDarkKnight
提到的答案是从2011年的,而这个是在过去的半个小时内被证明的。 - Alexander Tyapkov
Dominic,我并不争辩我的答案与众不同。我只是想分享一个简短、明确和实际的答案,这个问题在这个资源上找不到。如果你在第一次搜索中就找到了答案,那可能是因为你已经知道这个问题了?我曾经在不同的领域工作,这个问题当时并不明显。无论如何,如果管理员认为这个问题不好,那么总是有可能将其删除。 - Alexander Tyapkov
2
我很高兴你找到了解决问题的答案。我们都在这里学习和帮助。但是当发布与已经在SO上或其他知名资源中存在的问题极其相关的问题或重复问题时,我必须温和地反对。另一个观点是,至少我认为(我可能有偏见),即使阅读API(如何使用画笔),也可以回答这个问题。 - OnWhenReady
@DominikSelzer 我认为“文档中有”并不是关闭问题的充分理由。我们在stackoverflow上有一个2.7k点的JavaScript“use strict”的问题,这也可以在JS文档中找到。如果它“与已经在SO上的问题极其相关”,那么请标记为重复。 - Colonel Thirty Two
1个回答

5
如果您想绘制带有圆角的QPixmap,则在paint事件中,从QPixmap创建QBrush,并将其应用于绘图器,如下所示:
painter->setRenderHint(QPainter::Antialiasing, true);
QBrush brush = QBrush(pixmap);
painter->setBrush(brush);
painter->drawRoundedRect(polygon().boundingRect(), 5, 5);

3
你为什么会问一个问题,而且显然你已经知道答案了呢? - TheDarkKnight
标记你的答案为适当的答案,你将获得积分,但这是不公平的。 - tro
4
@DominikSelzer 实际上允许并且鼓励这样做 - ratchet freak
我认为不鼓励在使用谷歌搜索可以直接得到答案的情况下发布问题/答案组合。我认为应该先搜索答案。qtcentral已经记录了答案(请参见我的评论)。此外,即使在SO上,这个问题已经有一个非常相关的答案(https://dev59.com/9ljUa4cB1Zd3GeqPT7ML)。 - OnWhenReady
@Merlin069:我认为 Stack Overflow 的一般趋势是,如果信息有用,那就没问题,因为该网站的主要目的是建立知识,而相应的人只是次要的。 - László Papp
我在使用PyQt时遇到了问题,有人能帮我吗? - Amin Khormaei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接