나는 Qt의 신호 및 슬롯 메커니즘을 이해하려고 노력 중이다. QPushButton 및 QSpinBox 응용 프로그램이 있습니다. 버튼을 클릭하면 스핀 상자가 20으로 바뀌기를 원합니다. 어떤 신호와 슬롯을 설정해야합니까?Qt에서 스핀 상자를 특정 값으로 설정하려면 어떻게해야합니까?
아래 코드는 앱을 보여 주며 연결 기능은 문제가있는 기능입니다. QPushButton의 clicked() 신호에 다른 서명이 있기 때문에 QSpinBox의 setValue (int) 슬롯이 여기에서 작동하지 않습니다. 어쨌든 스핀 상자에 값 20을 어떻게 전달합니까? spinbox-> setValue (20)를 호출하는 슬롯 역할을하는 일종의 보조 함수를 작성해야합니까? 그렇다면 어떤 형태로 나타 납니까?
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *window = new QWidget;
QSpinBox *spinbox = new QSpinBox;
QPushButton *button = new QPushButton("Set to 20");
spinbox->setRange(0, 100);
// What should I put below?
QObject::connect(button, SIGNAL(clicked()), spinbox, SLOT(???????));
QLayout *layout = new QHBoxLayout;
layout->addWidget(spinbox);
layout->addWidget(button);
window->setLayout(layout);
window->show();
return app.exec();
}
설명서에는 필요한 모든 것이 있습니다. 이 문서로 시작하는 것이 좋습니다. http://doc.trolltech.com/4.5/signalsandslots.html – Anonymous
거기에 아무 것도 알려주지 않습니다. – PowerApp101
정말요? 신호 및 슬롯 메커니즘은 유형 안전합니다. 신호의 서명은 수신 슬롯의 서명과 일치해야합니다. 그리고 몇 가지 간단한 예가 귀하의 질문에 적용됩니다. – Anonymous