crossplatform.ru

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

> Как отправить дополнительные данные слоту?
smackthat
  опции профиля:
сообщение 18.4.2010, 22:10
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 15
Регистрация: 18.10.2009
Пользователь №: 1163

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




Репутация:   0  


Добрый день. У меня один и тот же сигнал (QWebFrame::loadFinished) отправляется с разных функций и мне нужно, чтобы при обработке этого сигнала передавались дополнительные данные. Как это можно организовать?

Тоесть допустим я загружаю одну страничку и после загрузки обрабатываю одним способом, другую страничку другим. Как можно указать сигналу каким образом обрабатывать? Как передать в сигнал аргумент?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrewshkovskii
  опции профиля:
сообщение 19.4.2010, 12:46
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

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




Репутация:   1  


Юрий тебе уже написал, что проще всего самописный сигнал, который идет от слота, принимающего loadFinished. Почему же так нельзя?
Пример :

Раскрывающийся текст
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
#include <QString>

namespace Ui {
    class Widget;
}

class Widget : public QWidget {
    Q_OBJECT
public:
    Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;

private slots :

void prepareData(int Value);
void setupLabel(int val, QString str);

signals :
        void valueChanged_(int val,QString str);
};

#endif // WIDGET_H


Раскрывающийся текст
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->dial,SIGNAL(valueChanged(int)),this,SLOT(prepareData(int)));
    connect(this,SIGNAL(valueChanged_(int,QString)),this,SLOT(setupLabel(int,QString)));
}

Widget::~Widget()
{
    delete ui;
}


void Widget::prepareData(int Value)
{
    if (Value < 50)
        emit this->valueChanged_(Value,"Less than 50");
       else if (Value >50)
           emit this->valueChanged_(Value,"Greater than 50");
}

void Widget::setupLabel(int val, QString str)
{
    ui->label->setText(QString::number(val)+" is "+ str);
}


Сообщение отредактировал Andrewshkovskii - 19.4.2010, 13:17
Прикрепленные файлы
Прикрепленный файл  smackthatExample.zip ( 8,75 килобайт ) Кол-во скачиваний: 86
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- smackthat   Как отправить дополнительные данные слоту?   18.4.2010, 22:10
- - Litkevich Yuriy   Цитата(smackthat @ 19.4.2010, 2:10) Как п...   18.4.2010, 22:33
- - smackthat   Попробую с другого конца пояснить свою проблему: я...   19.4.2010, 12:39
- - Andrewshkovskii   Юрий тебе уже написал, что проще всего самописный ...   19.4.2010, 12:46
- - kwisp   smackthat, можно воспользоваться QObject::sender(...   19.4.2010, 13:14
- - Andrewshkovskii   Мне кажется он не может разобраться, как передать ...   19.4.2010, 13:18
- - smackthat   2 kwisp я тут нашел такую штуку: все объекты насле...   19.4.2010, 14:03
- - kwisp   smackthat, немного не пойму. в соответсвии с чем ...   19.4.2010, 14:17
|- - smackthat   Цитата(kwisp @ 19.4.2010, 14:17) smacktha...   19.4.2010, 15:06
- - Litkevich Yuriy   Делай почастям, не заблудишся: QObject *obj = QObj...   19.4.2010, 15:13
|- - BRE   Я бы добавил для проверки: QObject *obj = QObject...   19.4.2010, 15:16
- - smackthat   Оказалось, что вылетает на этой строке: QString ur...   19.4.2010, 15:31
|- - BRE   Цитата(smackthat @ 19.4.2010, 16:31) erro...   19.4.2010, 15:48
- - kwisp   Цитата(BRE @ 19.4.2010, 16:48) Почему... ...   19.4.2010, 15:56
|- - BRE   Цитата(kwisp @ 19.4.2010, 16:56) непонятн...   19.4.2010, 16:25
- - kwisp   BRE, а понял. ты имеешь ввиду что он в приведени...   19.4.2010, 17:11
|- - BRE   Цитата(kwisp @ 19.4.2010, 18:11) BRE, а ...   19.4.2010, 17:20
- - Litkevich Yuriy   Цитата(BRE @ 19.4.2010, 19:16) Я бы добав...   19.4.2010, 17:22
- - smackthat   Litkevich Yuriy, BRE, kwisp Господа, большое вам с...   22.4.2010, 20:47


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


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




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