Название: #РЕШЕНО# Синтаксис метода connect Отправлено: Inhibitor от Сентябрь 21, 2015, 12:47 Добрый день.
Нашел в чужих исходниках вот такой фрагмент кода: Код: connect<void (QDoubleSpinBox::*)(double)>(x, &QDoubleSpinBox::valueChanged, this, &MyWidget::setModified); Вопрос, собственно, про выражение в треугольных скобках. Просто с таким синтаксисом при описании connect'а сталкиваться еще не приходилось. В документации ничего похожего не нашел. Подскажите где можно почитать о вышесказанном. Спасибо. Название: Re: Синтаксис метода connect Отправлено: Johnik от Сентябрь 21, 2015, 13:00 так как в классе QDoubleSpinBox два метода:
Код: void valueChanged(double d) Код: connect(x, static_cast<void (QDoubleSpinBox::*)(double)>(&QDoubleSpinBox::valueChanged), this, &MyWidget::setModified); Название: Re: Синтаксис метода connect Отправлено: deMax от Сентябрь 21, 2015, 14:35 Не знал. Получается connect шаблонная функция. Какой способ красивее(правильнее) использовать?
Название: Re: Синтаксис метода connect Отправлено: Johnik от Сентябрь 21, 2015, 14:40 Не знал. Получается connect шаблонная функция. Начиная с Qt5 доступен новый синтаксис connect (https://wiki.qt.io/New_Signal_Slot_Syntax).Какой способ красивее(правильнее) использовать? Решите для себя сами.Необходимость в указании сигнатуры возникает не часто. Название: Re: Синтаксис метода connect Отправлено: Inhibitor от Сентябрь 21, 2015, 17:00 Johnik, спасибо большое, за пояснение!
|