检查QStackedWidget的QVboxLayout中的QCheckBox

时间:2014-04-16 07:54:20

标签: c++ qt qcheckbox

我有一个QstackedWidget,我添加了QHboxLayout和QVBoxLayout,在我的垂直布局中我添加了3个QCheckBox,我添加了这个布局,左侧和右侧有两个间隔,然后我用两个spacer推动这个新布局对于水平布局中的顶部和底部,现在我想检查是否检查了这个QCheckBox,但我不知道如何检查这个。 这是我的代码:

QVBoxLayout *center = new QVBoxLayout();
QVBoxLayout *main = new QVBoxLayout();
    QHBoxLayout *middle = new QHBoxLayout();

    QSpacerItem *topspacer = new QSpacerItem(14, 24, QSizePolicy::Fixed, QSizePolicy::Fixed);
    QSpacerItem *buttom = new QSpacerItem(4, 4, QSizePolicy::Expanding, QSizePolicy::Expanding);
    QSpacerItem *left = new QSpacerItem(4, 4, QSizePolicy::Expanding, QSizePolicy::Expanding);
    QSpacerItem *right = new QSpacerItem(4, 4, QSizePolicy::Expanding, QSizePolicy::Expanding);
    middle->addItem(left);
    middle->addLayout(center);
    middle->addItem(right);
    center->addWidget(checkBoxEvent(QString::fromStdString("Analyze events")));
    center->addWidget(checkBoxEvent(QString::fromStdString("Edit Tracks")));
    center->addWidget(checkBoxEvent(QString::fromStdString("Analyze players")));

main->addItem(topspacer);
    main->addLayout(middle);
    main->addItem(buttom);
Qwidget *m_page = new Qwidget();
    m_page->setLayout(main);
    m_stackedWidget->addWidget(m_page);

我尝试使用此代码访问元素,但我得到了分段错误:

 for(int i = 0; i < m_stackedWidget->widget(2)->layout()->count(); i++) 
   if(dynamic_cast<QPushButton*>( m_stackedWidget->widget(2)->layout()->itemAt(i) )->isChecked())

此项目已添加到m_stackedWidget [1]

0 个答案:

没有答案