Russian Qt Forum

Qt => Общие вопросы => Тема начата: xwicked от Февраль 21, 2012, 10:27



Название: connect напрямую к слоту дочернего компонента
Отправлено: xwicked от Февраль 21, 2012, 10:27
Здравствуйте!

сабж:
Код
C++ (Qt)
TTextBook *TextBook;//Текст книги(QTextEdit)
TextBook = new TTextBook;
TextBook->show();
connect(actionUndo, SIGNAL(triggered()), SLOT(TextBook->undo()));//Подчёркивает красным :(
 
Это всё в QMainWindow.  Несмотря на то, что IDE QtCreator подчёркивает - конпилится отлично, а главное работет(!).
Чем это может быть чревато? Благодарю!


Название: Re: connect напрямую к слоту дочернего компонента
Отправлено: ddrtn от Февраль 21, 2012, 10:29
Здравствуйте!

сабж:
Код
C++ (Qt)
TTextBook *TextBook;//Текст книги(QTextEdit)
TextBook = new TTextBook;
TextBook->show();
connect(actionUndo, SIGNAL(triggered()), SLOT(TextBook->undo()));//Подчёркивает красным :(
 
Это всё в QMainWindow.  Несмотря на то, что IDE QtCreator подчёркивает - конпилится отлично, а главное работет(!).
Чем это может быть чревато? Благодарю!

 
Код
C++ (Qt)
TTextBook *TextBook;//Текст книги(QTextEdit)
TextBook = new TTextBook;
TextBook->show();
connect(actionUndo, SIGNAL(triggered()), TextBook, SLOT(undo()));//Подчёркивает красным :(
 


Название: Re: connect напрямую к слоту дочернего компонента
Отправлено: _OLEGator_ от Февраль 21, 2012, 10:29
Наверное все-таки так должно быть:

Код
C++ (Qt)
connect(actionUndo, SIGNAL(triggered()), TextBook, SLOT(undo()));


Название: Re: connect напрямую к слоту дочернего компонента
Отправлено: xwicked от Февраль 21, 2012, 10:42
actionUndo - находится в QMainWindow. Я поспешил, походу, не работает ни так
Код
C++ (Qt)
TextBook->undo()
ни так
Код
C++ (Qt)
undo()
(работал из контекстного меню TextBook :( ). Думаю, что всё равно придётся оборачивать своим слотом.

upd: проглядел приёмник - благодарю, всё заработало. Что значит, новичок и что придётся ещё многому научиться.
Везде сейчас явно проставлю приёмники, чтобы в будущем не путаться  ;D


Название: Re: connect напрямую к слоту дочернего компонента
Отправлено: mutineer от Февраль 21, 2012, 11:04
upd: проглядел приёмник - благодарю, всё заработало. Что значит, новичок и что придётся ещё многому научиться.
Везде сейчас явно проставлю приёмники, чтобы в будущем не путаться  ;D

Прежде всего научиться читать справку...