Доброго дня, у меня нубский вопрос, только перешел на Qt, делаю первые шаги в освоении. Хочу понять механизм создания кнопки и обработки нажатия, буду благодарен любым примерам!
Доброго дня, у меня нубский вопрос, только перешел на Qt, делаю первые шаги в освоении. Хочу понять механизм создания кнопки и обработки нажатия, буду благодарен любым примерам!
Привет, у тебя приложение Qt Widgets?
Если да, то можно открыть файл mainwindow.ui в дизайнере и там просто перетащить кнопку в нужное место:
Дальше уже лучше конечно использовать компоновщики (layout), но это уже другая тема)
@ai спасибо, да все так и делаю - через Designer. Теперь вопрос только как события кнопки (нажатие и другие) связать с кодом.
@penguin самый базовый способ - правой кнопкой мыши на элементе, затем "перейти к слоту":
Далее выбираешь один из сигналов:
В итоге генерируется слот, который уже подключен к сигналу:
void MainWindow::on_pushButton_clicked() { qDebug() << "Button is clicked"; }
@ai все получилось! А можете объяснить немного по терминологии - "сигналы", "слоты" - это функции?
По существу - да, функции. При возникновении некоторого события происходит генерация сигнала. К сигналу можно "присоединить" один или несколько слотов - то есть функций, которые будут вызваны при возникновении этого сигнала. При этом сигналы и слоты могут выполняться в разных потоках. Все элементы интерфейса имеют определенный набор сигналов, но также и любые другие классы (не Ui, в том числе пользовательские классы) могут иметь свои собственные сигналы.
Вот кстати максимально подробно - ссылка. Если что обращайтесь )