아마 내가 묻는 것은 매우 쉽지만 막혀있다! :( QT 및 체크 박스 문제
내가이QWidget
이있는 내가
QCheckBox
'말이지
내가 체크 박스에서 changestate 신호를 잡는 방법을 알아낼 수없는 것의 번호를 추가하는 QGridLayout
로드가 ... .
상자 for 루프에 추가 된 체크하는 내가 만드는 새로운 QCheckBox 및
내가 연결되어있는 무슨? ... qgridlayout에 위젯으로 추가하는 각 버튼의 내 맞춤 슬롯 또는 som에 신호 변경 다른 것?
내가 사용하는 코드는 내가 확인을 취소합니다,하지만 난 신호를 잡을 수는 없습니다,
QGridLayout *myLayout = new QGridLayout;
for (int i=0; i<(int)m_List.size(); i++)
{
QCheckBox *button = new QCheckBox;
button->setText(m_List[i].m_strName.c_str());
button->setIcon(QIcon(m_List[i].m_strThumbNailPath.c_str()));
button->setIconSize(QSize(50, 50));
button->setCheckable(true);
myLayout->addWidget(button);
connect(button, SIGNAL(stateChanged), this, SLOT(checkboxStateChanged));
}
myLayout->setRowStretch(2, 10);
myLayout->setColumnStretch(2, 10);
QWidget *myWidget = new QWidget;
myWidget->setLayout(myLayout);
myToolbox = new QToolBox;
myToolbox->addItem(myWidget, "Options");
이 제대로 체크 박스를 표시입니다 ... 내가 무엇을 놓치고? 감사합니다. 당신은 체크 박스 상태를 얻을 것이다
connect(button, SIGNAL(stateChanged(int)), this, SLOT(checkboxStateChanged(int)));
:
사실, OP는 아마도'SIGNAL (toggled (bool))'에 연결해야합니다. 'SIGNAL (stateChanged (int))'는 삼중 체 체크 박스 (드물게 사용됨)에서만 흥미 롭습니다. 그리고 네, [문서] (http://doc.trolltech.com/4.7/qcheckbox.html)는 다소 오해의 소지가 있습니다. ('toggled (bool)'은'QAbstactButton'에 대신 정의되어 있습니다). –
글쎄, 난 그냥 자신의 질문에 대답 (- : – snoofkin
옛 스타일의 신호/슬롯을 사용하여 모든 대답에 대한 좀 더 고급 사용자가 가서 새로운 스타일의 신호와 슬롯을 사용하여 다시 답변 것입니다. – neuronet