Qt Designer: как добавить пользовательский слот и код для кнопки - PullRequest
17 голосов
/ 01 ноября 2011

Я использую Qt4 Designer и хочу, чтобы при нажатии на кнопку «да» выполнялся какой-то код.И когда я нажимаю «нет», выполняется другой код.Как я могу это сделать?

Ответы [ 2 ]

32 голосов
/ 01 ноября 2011
  1. Нажмите на инструмент Edit Signal/Slots.

  2. Создайте соединение для своей кнопки.Для этого выберите вашу кнопку в конструкторе, нажав на нее левой кнопкой мыши.Переместите мышь в какое-то место главного окна, чтобы создать соединение с главным окном (это похоже на красную линию с заземлением).

  3. Когда вы отпустите кнопку мыши,появится диалоговое окно Configure Connection.

  4. В этом диалоговом окне выберите сигнал в левом текстовом элементе управления (отправитель), например, pressed().

  5. Затем нажмите edit в правом текстовом поле (получатель).Появится диалоговое окно для Signals/Slots of MainWindow.

  6. В панели слотов добавьте новый слот (зеленый крестик).Появится текст slot1().Дважды щелкните по нему, чтобы отредактировать строку и написать вместо этого название вашей функции doit_when_yes_ispressed().Принять.

  7. Теперь в диалоговом окне Configure Connection вы увидите свою функцию в правом текстовом элементе управления.Выберите и примите.

  8. В конструкторе теперь вы можете увидеть сигнал и вашу функцию в виджете.

5 голосов
/ 16 декабря 2015
  • Щелкните правой кнопкой мыши на виджете
  • Выберите «Перейти в слот ...»
  • Выберите сигнал и нажмите ОК

Ваш пользовательскийОбъявление и определение слотов для этого сигнала будут добавлены в файлы * .cpp и * .h.Его имя будет сгенерировано автоматически.

upd : Извините, я не заметил, что вопрос касается самого Python & QtDesigner, я думал о режиме конструктора в QtCreator IDE.Тем не менее, это может быть полезно для тех, кто ищет информацию о Qt / C ++, поэтому я оставляю ответ.

...