C++ 如何在变量中使用QSlider

C++ 如何在变量中使用QSlider,c++,qt,C++,Qt,可能重复: 我正在尝试使用QSlider来更改变量值: 以下是代码的一部分: .... QSlider *slider = new QSlider(Qt::Horizontal,0); connect(slider,SIGNAL(valueChanged()),this,SLOT(value(int k))); ... 函数值是我想使用的一个插槽,比如说: void value (int k ) { cout<< k << endl; } void值(int k

可能重复:

我正在尝试使用QSlider来更改变量值: 以下是代码的一部分:

 ....
QSlider *slider = new QSlider(Qt::Horizontal,0);
connect(slider,SIGNAL(valueChanged()),this,SLOT(value(int k)));
...
函数值是我想使用的一个插槽,比如说:

 void value (int k ) {
cout<< k << endl;
}
void值(int k){
从qt文档中可以看到:

我猜在运行时它找不到valueChanged()信号,因此可能会更改:

...
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(value(int)));
...
希望有帮助。

来自qt文档:

我猜在运行时它找不到valueChanged()信号,因此可能会更改:

...
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(value(int)));
...

希望这有帮助。

您必须将参数
int
放在信号签名上,使其将值传递到插槽。此外,切勿将参数名称放在
信号(…)
/
插槽(…)
签名规范中

...
QSlider *slider = new QSlider(Qt::Horizontal, this);
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(value(int)));
...
另外,请确保
value
是类的一个槽,而不是独立函数。我猜您已经将上面的代码放在类函数中,而不是放在main或任何其他独立函数中,因为在这些函数中没有定义
this
。因此,您所谈论的槽必须是成员函数,尤其是QObject sl您正在编写此代码的类的ot。更改

void value (int k) {
    cout << k << endl;
}

另外,给你的插槽一个有意义的名称,例如
sliderChanged
,否则,混沌迟早会统治你的项目。

你必须在信号签名上加上参数
int
,使它将值传递给插槽。另外,千万不要把参数名称放在
信号(…)
插槽(…)
签名规范

...
QSlider *slider = new QSlider(Qt::Horizontal, this);
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(value(int)));
...
另外,请确保
value
是类的一个槽,而不是独立函数。我猜您已经将上面的代码放在类函数中,而不是放在main或任何其他独立函数中,因为在这些函数中没有定义
this
。因此,您所谈论的槽必须是成员函数,尤其是QObject sl您正在编写此代码的类的ot。更改

void value (int k) {
    cout << k << endl;
}

另外,给你的插槽起一个有意义的名字,例如
sliderChanged
,否则,混沌迟早会统治你的项目。

我建议你再次阅读Qt中的信号和插槽系统,因为你显然不理解它。不,它不是重复的,如果我把它与进度条放在一起,我可以使用silder值但我想知道sliderIt的位置完全相同,但在代码中的位置不同。这两个问题都有完全相同的来源:当您阅读Qt的教程/文档时,您没有注意到。我建议您再次阅读Qt中的信号和插槽系统,因为您显然不理解它。不,这不是一个双面打印在,我可以使用silder值,如果我把它与进度条放在一起,但我想得到sliderIt的完全相同的问题的位置,但在代码中的不同位置。这两个问题有完全相同的来源:你在阅读教程/文档时没有注意Qt@Engine啊,然后将父级传递给
QSlider
。否则,您的应用程序会泄漏内存。请参见我的编辑。@引擎哦,没关系……如果您随后将滑块放入小部件中,则可以在构造函数中传递
0
。我猜您会这样做,否则您会在一个小窗口中看到一个滑块。@Engine啊,并将
父项
传递给的构造函数ode>QSlider
。否则,您的应用程序会泄漏内存。请参见我的编辑。@Engine哦,没关系……如果您随后将滑块放入小部件中,则可以在构造函数中传递
0
。我猜您会这样做,否则您会在一个小窗口中看到一个滑块。