Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 将QLabel连接到QSlider时出现问题_Qt_Connect_Qlabel_Qslider - Fatal编程技术网

Qt 将QLabel连接到QSlider时出现问题

Qt 将QLabel连接到QSlider时出现问题,qt,connect,qlabel,qslider,Qt,Connect,Qlabel,Qslider,我有个问题。我创建了一个类,其中有一个滑块和一个标签。我想将它们与QObject::connect连接起来,但当我这样做时,什么也没发生。你能告诉我我做错了什么吗 我的班级: class Loads :public QObject { Q_OBJECT public: QSlider slider; QLabel label; QMainWindow okno; Loads(); private: int wart; public slots

我有个问题。我创建了一个类,其中有一个滑块和一个标签。我想将它们与QObject::connect连接起来,但当我这样做时,什么也没发生。你能告诉我我做错了什么吗

我的班级:

class Loads :public QObject
{
    Q_OBJECT

public:
    QSlider slider;
    QLabel label;
    QMainWindow okno;
    Loads();

private:
    int wart;

public slots:
    void zmiana(int li);

};
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();
}
类“加载”构造函数:

class Loads :public QObject
{
    Q_OBJECT

public:
    QSlider slider;
    QLabel label;
    QMainWindow okno;
    Loads();

private:
    int wart;

public slots:
    void zmiana(int li);

};
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));
}

我不认为这是正确的,您正在将
加载
对象的信号连接到插槽,但是
加载
对象不是生成信号的对象,而
滑块
对象正在这样做

因此,我认为您需要
滑块
作为第一个参数,而不是
这个
。我相信,使用
这个
作为第三个参数是可以的,因为插槽确实属于
加载
对象