Saturday, August 30th 2008, 11:46am UTC+1

You are not logged in.

  • Login
  • Register

graciano

Beginner

Posts: 5

Location: Portugal

1

Saturday, May 10th 2008, 7:17pm

Reset Button not working!

Hi,
I tried to post this question in other section of QtForum and decided to try again :)
First i will post the code:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include <QApplication>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QSpinBox>
#include <QSlider>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    
	QWidget *janela = new QWidget;
	janela->setWindowTitle("Modelo RGB!");
	
    QPushButton *botaosair = new QPushButton("Sair");
    QPushButton *botaoreset = new QPushButton("Reset");
    
    QLabel *textoRed = new QLabel("Red");
    QLabel *textoGreen = new QLabel("Green");
    QLabel *textoBlue = new QLabel("Blue");
    
    QSpinBox *spinBoxRed = new QSpinBox;
    QSpinBox *spinBoxGreen = new QSpinBox;
    QSpinBox *spinBoxBlue = new QSpinBox;
    
    spinBoxRed->setRange(0,255);
    spinBoxGreen->setRange(0,255);
    spinBoxBlue->setRange(0,255);
    
    QSlider *sliderRed = new QSlider(Qt::Horizontal);
    QSlider *sliderGreen = new QSlider(Qt::Horizontal);
    QSlider *sliderBlue = new QSlider(Qt::Horizontal);
    
    sliderRed->setRange(0,255);
    sliderGreen->setRange(0,255);
    sliderBlue->setRange(0,255);
    
    
    //Signals and slots
    QObject::connect(	spinBoxRed, 	SIGNAL(valueChanged(int)),
    					sliderRed,		SLOT(setValue(int)));
    QObject::connect(	sliderRed, 		SIGNAL(valueChanged(int)),
    					spinBoxRed,		SLOT(setValue(int)));

    QObject::connect(	spinBoxGreen,	SIGNAL(valueChanged(int)),
    					sliderGreen,	SLOT(setValue(int)));
    QObject::connect(	sliderGreen, 	SIGNAL(valueChanged(int)),
    					spinBoxGreen,	SLOT(setValue(int)));

    QObject::connect(	spinBoxBlue, 	SIGNAL(valueChanged(int)),
    					sliderBlue,		SLOT(setValue(int)));
    QObject::connect(	sliderBlue, 	SIGNAL(valueChanged(int)),
    					spinBoxBlue,	SLOT(setValue(int)));
    					
    QObject::connect(	botaosair, 		SIGNAL(clicked()),
    					&app,			SLOT(quit()));
    QObject::connect(	botaoreset, 	SIGNAL(clicked()),
    					sliderRed,		SLOT(setValue(33)));

	sliderRed->setValue(100);
	sliderGreen->setValue(100);
	sliderBlue->setValue(100);
	
    //layouts
    QVBoxLayout *cores = new QVBoxLayout;
    cores->addWidget(textoRed);
    cores->addWidget(textoGreen);
    cores->addWidget(textoBlue);
    
    QVBoxLayout *spinbox = new QVBoxLayout;
    spinbox->addWidget(spinBoxRed);
    spinbox->addWidget(spinBoxGreen);
    spinbox->addWidget(spinBoxBlue);
    
    QVBoxLayout *slider = new QVBoxLayout;
    slider->addWidget(sliderRed);
    slider->addWidget(sliderGreen);
    slider->addWidget(sliderBlue);

 	QHBoxLayout *layoutRGB = new QHBoxLayout;
 	layoutRGB->addItem(cores);
 	layoutRGB->addItem(spinbox);
 	layoutRGB->addItem(slider);
 	
 	QHBoxLayout *layoutControlo = new QHBoxLayout;
 	layoutControlo->addWidget(botaoreset);
 	layoutControlo->addWidget(botaosair);
 	
 	QVBoxLayout *layoutjanela = new QVBoxLayout;
 	layoutjanela->addItem(layoutRGB);
 	layoutjanela->addItem(layoutControlo);
 	 
 	    
    janela->setLayout(layoutjanela);
    
    janela->show();
    return app.exec();
}


Why can't i change the Red slider value to 33 when i press "botaoreset"? (see line 58 )

Must be a stupid question but i need the answer to start lerning QT.
Thanks
Graciano Torrão
  • Go to the top of the page

2

Saturday, May 10th 2008, 8:09pm

RE: Reset Button not working!

Explanation is in the same line no 58:) You cannot use SLOT(setValue(33))); MOC expects SLOT(setValue(int))); or something. Notice that you must prowide data type not value!
  • Go to the top of the page

3

Saturday, May 10th 2008, 11:22pm

RE: Reset Button not working!

I add: read documentation
page Qt Object Model (file doc/html/object.html)
page Signals and Slots (file doc/html/signalsandslots.html)
about signals/slots usage
Nicolas
  • Go to the top of the page

Rate this thread