我的代码中有这一行:
QObject::connect(scanning_worker, SIGNAL(update_progress_bar(const int)), ui.progress_bar, SLOT(setValue(const int)));
在运行时我得到这个错误:
No such slot QProgressBar::setValue(const int)
任何想法为什么?在文档 QT 4.8(我使用的)中setValue
是public slot
...
我试过这个:我const
之前int
在参数中删除了,但没有变化。我尝试用调试器调用其他插槽,发现我在这个插槽中的断点,所以没关系。我还尝试将 '50' 设置为 setValue 的参数
QObject::connect(scanning_worker, SIGNAL(update_progress_bar(const int)), ui.progress_bar, SLOT(setValue(50)));
但仍然是同样的错误......
我的课:
class Scanning_worker : public QObject{
Q_OBJECT
private:
int shots_count;
public:
Scanning_worker(const int shots) : shots_count(shots){}
~Scanning_worker(){}
public slots:
void do_work();
signals:
void error(const int err_num);
void update_progress_bar(int value);
void finished();
};
并且 ui.progress_bar 是形式(主窗口的子窗口)......
我在 Visual Studio 2010、W7 prof 和 QT 4.8 工作