crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в сигналы и слоты
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 4.3.2009, 18:19
 
Цитата(Litkevich Yuriy @ 4.3.2009, 18:11) *
а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту?

не согласен.

я спросил лишь потому что обычно так не пишут.
на самом деле это одно и тоже. Form наследник QObject и ему доступны его методы и этим способом тоже.
док-во это то что в первом слоте все нормально.

З.Ы просто если вдруг не знали еще
можно статические методы вызывать так:
object->staticMethod();

& так
Object::staticMethod();
SABROG Дата 4.3.2009, 18:15
 
Цитата(Litkevich Yuriy @ 4.3.2009, 18:11) *
Цитата(kwisp @ 4.3.2009, 19:48) *
еще вопрос. почему так пишешь?
Цитата(kuler @ 4.3.2009, 14:57)
QObject* object = QObject::sender();
Цитата(kuler @ 4.3.2009, 20:09) *
ну это все имеет одно и тоже значение, просто что первое на ум взбрело
а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту?

Дык ежели это вызывается внутри класса наследника QObject'a, скажем в QWidget'e, то это всего-лишь вызовет метод sender() базового класса. Другое дело, если бы в таком виде вызывалось откуда-нибудь из блока main.
Litkevich Yuriy Дата 4.3.2009, 18:11
 
Цитата(kwisp @ 4.3.2009, 19:48) *
еще вопрос. почему так пишешь?
Цитата(kuler @ 4.3.2009, 14:57)
QObject* object = QObject::sender();
Цитата(kuler @ 4.3.2009, 20:09) *
ну это все имеет одно и тоже значение, просто что первое на ум взбрело
а вто и нет, метод QObject * QObject::sender () const не статический, и что он должен вернуть применительно к этому слоту?
kwisp Дата 4.3.2009, 17:33
  kuler,
попробуй тест написать.
одно соединение автоматическое одно ручное. отправитель один и тотже получатель тот же но разные слоты один соединен автоматически другой ручками. и посмотри что дает sender() в этих двух случаях.
kuler Дата 4.3.2009, 17:28
 
Цитата(SABROG @ 4.3.2009, 17:19) *
нету ли там ругательств.

нету
SABROG Дата 4.3.2009, 17:19
  В момент работы программы. Просто запускаешь её, жмахаешь по кнопочкам, чтобы дошло до момента, где sender() на ноль проверяется и смотришь в консоль, нету ли там ругательств.
kuler Дата 4.3.2009, 17:09
 
Цитата(kwisp @ 4.3.2009, 16:48) *
еще вопрос. почему так пишешь?

ну это все имеет одно и тоже значение, просто что первое на ум взбрело
Цитата(kwisp @ 4.3.2009, 16:26) *
где соединение с этим слотом on_aDelPlot_triggered()??
Цитата(SABROG @ 4.3.2009, 17:05) *
Я предлагаю посмотреть что на это пишет дебаггер и соответственно собрать программу в debug режиме.

в какой момент?
SABROG Дата 4.3.2009, 17:05
  Я думал над этим, но разницы нет, т.к. тут явно вызывается метод базового класса QObject, также как мы вызываем QWidget::paintEvent(event); или QWidget::mousePressEvent(event); внутри наших обработчиков.

Я предлагаю посмотреть что на это пишет дебаггер и соответственно собрать программу в debug режиме.
kwisp Дата 4.3.2009, 16:48
 
Цитата(Litkevich Yuriy @ 4.3.2009, 16:31) *
оно автоматическое.

думаю причина в нем.
надо писать простой тест и смотреть.

еще вопрос. почему так пишешь?
Цитата(kuler @ 4.3.2009, 14:57) *
QObject* object = QObject::sender();


почему не
QObject* object = this->sender();
||
QObject* object = sender();

???
Litkevich Yuriy Дата 4.3.2009, 16:31
 
Цитата(kwisp @ 4.3.2009, 19:26) *
где соединение с этим слотом on_aDelPlot_triggered()??
оно автоматическое.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 12:46