Russian Qt Forum

Qt => Вопросы новичков => Тема начата: olegator от Ноябрь 21, 2014, 04:35



Название: Еще раз про SIGNAL & SLOT
Отправлено: olegator от Ноябрь 21, 2014, 04:35
Делаю  тестовую программку, если через дизайнер настроить  слот то все работает, а вот программно беда какая-то  выдает ошибку дебага:

Код:



#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->pushButton->setText("Hi");
[color=red]    connect(ui->horizontalSlider,SIGNAL(valueChange(int)),
            ui->progressBar,SLOT(setValue(int)));[/color]
}

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


#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}




#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H


При выполнении выдает ошибку:


Код:
Starting /u01/Projects/build-mainwindow-Desktop_Qt_5_3_GCC_64bit-Debug/mainwindow...
QObject::connect: No such signal QSlider::valueChange(int) in ../mainwindow/mainwindow.cpp:10
QObject::connect:  (sender name:   'horizontalSlider')
QObject::connect:  (receiver name: 'progressBar')


Название: Re: Еще раз про SIGNAL & SLOT
Отправлено: kambala от Ноябрь 21, 2014, 04:47
valueChanged


Название: Re: Еще раз про SIGNAL & SLOT
Отправлено: olegator от Ноябрь 21, 2014, 06:21
Спасибо, добрый человек!  QTCreator не подсвечивал  метод "valueChange" как не существующий.


Название: Re: Еще раз про SIGNAL & SLOT
Отправлено: kambala от Ноябрь 21, 2014, 20:59
документацию тоже надо открывать.

а сигналы он и не подчеркивает — несуществующие просто цветом не выделяет насколько я помню.

а, раз используешь Qt 5, то можно привязываться прямо к методам, без всяких SIGNAL() и SLOT()