Russian Qt Forum
Ноябрь 25, 2024, 20:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Еще раз про SIGNAL & SLOT  (Прочитано 2495 раз)
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')
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Ноябрь 21, 2014, 04:47 »

valueChanged
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
olegator
Гость
« Ответ #2 : Ноябрь 21, 2014, 06:21 »

Спасибо, добрый человек!  QTCreator не подсвечивал  метод "valueChange" как не существующий.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 21, 2014, 20:59 »

документацию тоже надо открывать.

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

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

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.118 секунд. Запросов: 22.