crossplatform.ru

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

> Не видит SLOT с параметром, Не видит SLOT с параметром, без параметров все работает.
mishabard
  опции профиля:
сообщение 13.6.2011, 20:59
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 31
Регистрация: 13.6.2011
Из: Киев
Пользователь №: 2741

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый вечер! Все перерыл все погуглил. ответа не нашел. простите. Суть следующая:
Есть два класса, объекты которых создаются динамически, связываю их между собой сигналом и слотом, в первом класе по нажатию кнопки создаю динамически диалоговое окно второго класса, хочу связать сигналом и слотом spinbox и button из двух классов.
Все компилируется, но при зосдании класса пишет:

Object::connect: No such slot MWindows1::slot1(pbase->pcb) in ../untitled1/mainwindows.cpp:54

Пробовал делать слот без параметров, все работет!!!! Но мне не подходит мне необходимо через параметр из класа в класс передать значение.

Вот код: все упростил, чтоб оставить только необходимое:
ПРобовал все варианты:
connect(pbase->pcmdC,SIGNAL(clicked()),this, SLOT(slot1(pbase->pcb)));
QObject::connect(pbase->pcmdC,SIGNAL(clicked()),this, SLOT(slot1(pbase->pcb)));
MWindows1::connect(pbase->pcmdC,SIGNAL(clicked()),this, SLOT(slot1(pbase->pcb)));
а вот так работает:
connect(pbase->pcmdC,SIGNAL(clicked()),this, SLOT(slot1())); // Слот без параметров!!!!!!
Помогите! Что не так??????

Клас 1:
#include"basedialog.h"
#include<QtGui>

class MWindows1: public QDialog
{
Q_OBJECT
public:
.....
public slots:
void slot1(QSpinBox * p){pSpinBox->setValue(p->value()); };
private:
....
QSpinBox * pSpinBox;
.....
};

Клас 2:

#include <QtGui>
class BaseDialog : public QDialog
{
Q_OBJECT
public:
.....
QSpinBox * pcb;
QPushButton * pcmdC;
.....

};

Создаю процедуру обработки нажтия кнопки в класе 1
void MWindows1::PushBaseDialog()
{
BaseDialog * pbase = new BaseDialog;
connect(pbase->pcmdC,SIGNAL(clicked()),this, SLOT(slot1(pbase->pcb))); //н работает

if (pbase->exec()==QDialog::Accepted)
{
.......
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 13.6.2011, 23:59
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(mishabard @ 14.6.2011, 0:41) *
а в слот необходимо передать значение
сигнал и передаёт значение в слот, если нет подходящего сигнала, то в слот нечего передавать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 20:36