如何在 Qt 5.5 中创建具有自定义(三角形)形状的 QPushButton?

How can I create a QPushButton with a custom (triangular) shape in Qt 5.5?

如何在 Qt 中创建一个三角形按钮?执行此操作最简单的方法是什么?我使用设计器创建按钮而不是代码。

另外,我在某处读到,只要按钮的框架仍然是矩形,形状就可以改变,但我希望框架也能根据形状进行调整。我怎样才能做到这一点?

更多细节:我想将许多小三角形按钮彼此相邻放置,并且每隔一个三角形翻转一次。每个三角形按钮都有自己的功能等(不接受重叠边框)。谁能给我一个描述性的解释,说明我将如何处理这个问题?

QWidget 上的几何形状始终是矩形。

可以创建一个 QPushButton 衍生物,覆盖它的 paintevent 并考虑它的邻域等做一些讨厌的绘画,但这真的很痛苦......

使用 QGraphicsView、QGraphicsScene 并添加适当的 QGraphicsItem(也许是 QGraphicsPolygonItem?)要容易得多,添加它们并使用它们的 signals/slots 或创建派生的 class 以满足您的目的。

覆盖鼠标事件以识别点击并不难,您甚至可以使用 QStyleSheets 让 "button" 看起来像是被按下了。