Название: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: Qtnewbie от Февраль 04, 2009, 21:28 Я понимаю что проблема элементарная и детская, но Qt изучаю тока 2-ю неделю и часто спотыкаюсь на простых вещах.
Вот назначил сигналу слот Код: connect(pbSetParam,SIGNAL(clicked()),SLOT(on_pbSetParam_clicked())); Кнопку размещал с помощью дизайнера, а не руками, но в дизайнере ничего не назначал. Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: Rcus от Февраль 04, 2009, 21:45 connectSlotsByName() же
Цитировать void QMetaObject::connectSlotsByName ( QObject * object ) [static] вызывается автоматически в setupUi :)Searches recursively for all child objects of the given object, and connects matching signals from them to slots of object that follow the following form: void on_<widget name>_<signal name>(<signal parameters>); Let's assume our object has a child object of type QPushButton with the object name button1. The slot to catch the button's clicked() signal would be: void on_button1_clicked(); Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: spirit от Февраль 04, 2009, 21:47 при таком обзывании слота происходит авто-коннект.
Цитировать void QMetaObject::connectSlotsByName ( QObject * object ) [static] либо же имя слота поменяйте либо же не делаете этот коннект.Searches recursively for all child objects of the given object, and connects matching signals from them to slots of object that follow the following form: void on_<widget name>_<signal name>(<signal parameters>); Let's assume our object has a child object of type QPushButton with the object name button1. The slot to catch the button's clicked() signal would be: void on_button1_clicked(); See also QObject::setObjectName(). ЗЫ. блин, опоздал ;D Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: pastor от Февраль 04, 2009, 21:48 Все очень просто, читаем про Automatic Connections (http://doc.trolltech.com/4.4/designer-using-a-component.html#automatic-connections)
Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: pastor от Февраль 04, 2009, 21:49 Дааа, пока нашел ссылку, уже 2 поста запостили. Шустрые вы блин ))
Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: Bojo от Октябрь 07, 2009, 18:13 Я одного не пойму: а можно ли как то отключить такое поведение (Automatic Connections)?
Название: Re: Двойной вызов слота для сигнала QPushButton::clicked() Отправлено: pastor от Октябрь 07, 2009, 18:18 Я одного не пойму: а можно ли как то отключить такое поведение (Automatic Connections)? Нет, отключить нельзя. Просто не именуй слоты в виде on_okButton_clicked |