将 QLabel 连接到 QSlider 时出现问题
Problem with connecting QLabel to QSlider
我有问题。我创建了一个 class,其中有一个滑块和一个标签。我想将它们与 QObject::connect 连接起来,但是当我这样做时,没有任何反应。你能告诉我我做错了什么吗?
我的class:
class Loads :public QObject
{
Q_OBJECT
public:
QSlider slider;
QLabel label;
QMainWindow okno;
Loads();
private:
int wart;
public slots:
void zmiana(int li);
};
Class “加载”构造函数:
Loads::Loads()
{
okno.setGeometry(300,300,300,300);
label.setParent(&okno);
slider.setParent(&okno);
label.setGeometry(0,0,300,200);
slider.setGeometry(0,200,300,100);
slider.setMinimum(1);
slider.setMaximum(30);
label.setText("0");
wart=0;
QObject::connect(this, SIGNAL( slider.valueChanged(int)), this , SLOT( zmiana(int)) );
okno.show();
}
我的“zmiana”插槽
void Loads::zmiana(int li)
{
wart=li;
label.setText(QString::number(li));
}
QObject::connect(this, SIGNAL( slider.valueChanged(int)), this , SLOT( zmiana(int)) );
我认为这不正确,您将 Loads
对象的信号连接到插槽,但 Loads
对象 不是 生成信号的那个,slider
对象正在这样做。
因此我认为您需要 slider
作为第一个参数,而不是 this
。使用 this
作为第三个参数是可以的,我相信,因为插槽 确实 属于 Loads
对象。
我有问题。我创建了一个 class,其中有一个滑块和一个标签。我想将它们与 QObject::connect 连接起来,但是当我这样做时,没有任何反应。你能告诉我我做错了什么吗?
我的class:
class Loads :public QObject
{
Q_OBJECT
public:
QSlider slider;
QLabel label;
QMainWindow okno;
Loads();
private:
int wart;
public slots:
void zmiana(int li);
};
Class “加载”构造函数:
Loads::Loads()
{
okno.setGeometry(300,300,300,300);
label.setParent(&okno);
slider.setParent(&okno);
label.setGeometry(0,0,300,200);
slider.setGeometry(0,200,300,100);
slider.setMinimum(1);
slider.setMaximum(30);
label.setText("0");
wart=0;
QObject::connect(this, SIGNAL( slider.valueChanged(int)), this , SLOT( zmiana(int)) );
okno.show();
}
我的“zmiana”插槽
void Loads::zmiana(int li)
{
wart=li;
label.setText(QString::number(li));
}
QObject::connect(this, SIGNAL( slider.valueChanged(int)), this , SLOT( zmiana(int)) );
我认为这不正确,您将 Loads
对象的信号连接到插槽,但 Loads
对象 不是 生成信号的那个,slider
对象正在这样做。
因此我认为您需要 slider
作为第一个参数,而不是 this
。使用 this
作为第三个参数是可以的,我相信,因为插槽 确实 属于 Loads
对象。