如何在QGraphicsView的左下角添加复选框?

时间:2014-05-30 19:23:47

标签: c++ qt qgraphicsview qcheckbox qstyle

我想在QGraphicsView的左下角添加一个复选框。

我尝试直接在我视图的painEvent中绘画。

void BhGraphicsView::paintEvent(QPaintEvent* event)
{
    QGraphicsView::paintEvent(event);
    QStyleOptionButton opt;
    opt.state = QStyle::State_Active | QStyle::State_Enabled;
    opt.rect = QRect(x,y,300,300);
    QPainter painter(viewport());
    //histogram_cbox_ is a QCheckBox
    histogram_cbox_->style()->drawControl(QStyle::CE_CheckBox, &opt, &painter);
  // ....
 }

我没有找到QStyleOptionCheckBox所以我使用了QStyleOptionButton

但问题是它没有显示QCheckbox的文字。

如何在QGraphicsView上绘制可点击的复选框?!

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以在布局中向QCheckBox添加QGraphicsView

QCheckBox * checkBox = new QCheckBox();
QGridLayout * layout = new QGridLayout(ui->myView);
layout->addWidget(checkBox,0,0,0,0,Qt::AlignBottom | Qt::AlignLeft);