我正在尝试制作一些自定义插槽,但它提示自定义插槽不存在。
我用谷歌搜索过,但找不到任何有类似情况的东西。没有任何解决方案对我有用。
QObject::connect:没有这样的插槽 QSlider::setMinimum(int)
inkpuppet.cpp
#include "inkpuppet.h"
#include "ui_inkpuppet.h"
#include "aboutdialog.h"
#include <QDialog>
#include <QWidget>
#include <QtCore>
#include <QtGui>
#include <QButtonGroup>
#include <QSlider>
InkPuppet::InkPuppet(QWidget *parent) :
QWidget(parent),
ui(new Ui::InkPuppet)
{
ui->setupUi(this);
connect(ui->lowerFrameBox, SIGNAL(valueChanged(int)), ui->timeSlider, SLOT(setMinimum(int)));
connect(ui->upperFrameBox, SIGNAL(valueChanged(int)), ui->timeSlider, SLOT(setMaximum(int)));
//connect(ui->lowerFrameBox, SIGNAL(valueChanged(int)), ui->timeSlider, SLOT(setRange(int,int)));
}
InkPuppet::~InkPuppet()
{
delete ui;
}
void InkPuppet::on_aboutButton_clicked()
{
}
void InkPuppet::setMinimum(int value)
{
ui->timeSlider->setMinimum(value);
}
void InkPuppet::setMaximum(int value)
{
ui->timeSlider->setMaximum(value);
}
inkpuppet.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QtCore>
#include <QtGui>
#include "aboutdialog.h"
namespace Ui {
class InkPuppet;
}
class InkPuppet : public QWidget
{
Q_OBJECT
public:
explicit InkPuppet(QWidget *parent = 0);
~InkPuppet();
public slots:
void on_aboutButton_clicked();
void setMinimum(int value);
void setMaximum(int value);
private:
Ui::InkPuppet *ui;
AboutDialog *aDialog;
};
#endif // WIDGET_H
最佳答案
您尝试将 ui->lowerFrameBox
valueChanged(int)
信号与 ui->timeSlider
中的 setMinimum 插槽连接。然而,setMinimum 没有槽。您需要连接到 InkPuppet 中的插槽。
connect(ui->lowerFrameBox, SIGNAL(valueChanged(int)),
this, SLOT(setMinimum(int)));
关于c++ - Qt C++ - 自定义插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18428241/