如何在QWidget的一个角上添加一个小三角形?

时间:2013-12-06 05:38:04

标签: qt qwidget

我在QPushButton的左下角或右上角得到一个小三角形。我不确定它是如何出现的。我只是使用简单的PushButton。对于从QWidget派生的自定义小部件,我需要同样的东西。

我想知道是否有任何标志设置或我是否需要明确实现?看起来像我们在一些在线pdf中看到的翻页符号。

我是Qt的新手。请回答。

1 个答案:

答案 0 :(得分:0)

小三角形表示QPushButton有一个关联的弹出菜单:QPushButton::setMenu()

如果要添加三角形,可以使用样式表或重新实现QWidget::paintEvent()来绘制角落中的三角形。一个基本的例子:

void Widget::paintEvent( QPaintEvent* event ) {
    QWiudget::paintEvent( event );
    QPainter painter( this );
    QPolygon p();
    p.append( QPoint(10, 10) );
    p.append( QPoint(14, 10) );
    p.append( QPoint(12, 14) );
    painter.drawPolygon( p );
}

但是,我认为,更好的解决方案是在您的小部件中添加QPushButton。检测三角形上的点击会更容易......