2015-01-05 4 views
-2

Я пытаюсь создать сигнал и слот в Qt4, и я довольно новичок в Qt. Из того, что я понимаю в Qt5, он просто создается автоматически, и это не так в Qt4. Я пытаюсь создать действие, когда пользователь нажимает на параметр в строке меню на пользовательском интерфейсе. = Я вижу, что в нижней части экрана есть редактор Signal/Slot с опциями «Sender», «Сигнал», «Приемник» и «Слот». Я не совсем уверен, как использовать эту функцию. Любая помощь приветствуется.Сигналы и слоты в Qt4

+3

Вы прочитали [документацию о сигналах и слотах в Qt4?] (Http://qt-project.org/doc/qt-4.8/signalsandslots.html) – Bowdzone

ответ

2

В основном вам нужно подключить сигнал и слот

connect(ui->button1, SIGNAL(clicked()), this, SLOT(yourSlot())); 

и в этой связи есть хороший пример о сигналах и слот: signals and slots in qt.

0

Вы, кажется, неправильно поняли.

Разница в Qt 5 заключается в том, что он предлагает новый синтаксис для соединения.

Соединение является «автоматическим», если вы не укажете тип подключения, то есть прямое, поставленное в очередь и т. Д., По умолчанию используется автоматическое, что позволяет Qt проверять принадлежность потока объекта и выбирать соответствующий тип подключения.

Соединения должны быть явно сделаны в коде или должны быть сделаны с использованием редактора пользовательского интерфейса, а в то время как последний может сэкономить вам некоторую типизацию в некоторых случаях, как правило, большинство подключений, которые вы в конечном итоге делаете, являются явными в коде, поэтому вам лучше узнать, как это сделать, потому что редактор пользовательского интерфейса может помочь вам только в нескольких случаях. Я не использовал редактор UI для соединений и пробовал его один или два года назад, но ограничение, я думаю, состоит в том, что вы можете устанавливать соединения между элементами пользовательского интерфейса и сигналами и слотами виджета.

Считайте, что соединения сигналов и слотов - это не просто пользовательский интерфейс, это основной принцип в Qt, а интерфейс - это лишь одно из его многочисленных применений.