Russian Qt Forum
Ноябрь 24, 2024, 10:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сигнал - слоты  (Прочитано 2316 раз)
МП©
Гость
« : Март 05, 2012, 09:46 »

Наверное, эта тема уже много раз обсуждалась, но ничего конкретного я не нашел. (ссылки приветствуются)

Не могу понять/разобраться как передавать слоты/сигналы между разными формами, например mainwindow и dialog.

Внутри MainWindow я научился управлять.

Как в диалоге указать приемником сигнала главную форму.
Что то вроде:
Код
C++ (Qt)
Dialog::Dialog(QWidget *parent) :
   QDialog(parent),
   ui(new Ui::Dialog)
{
   ui->setupUi(this);
   QObject::connect(ui->pushButton,SIGNAL(clicked()),MainWindow,SLOT(...));
}
 

Записан
Bepec
Гость
« Ответ #1 : Март 05, 2012, 10:17 »

Чтобы соединить что-то с чем-то сигналами, нужно как минимум 2 указателя на соединяемые объекты.

В твоём случае у тебя нет указателя на MainWindow, если при создании диалога, ты родителя не задаёшь. (Dialog::Dialog(QWidget *parent) - конструктор, а в скобочках родитель Подмигивающий )

Если же ты создал диалог с родителем MainWindow, то подставляй заместо
Код:
//QObject:: - необязательно                                  MainWindow - если он родитель диалога 
               connect(ui->pushButton,SIGNAL(clicked()),parent(),SLOT(...));
Записан
mutineer
Гость
« Ответ #2 : Март 05, 2012, 11:00 »

http://doc.crossplatform.ru/qt/4.7.x/signalsandslots.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.073 секунд. Запросов: 21.