コードに次の行があります。
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
デバッガーで他のスロットを呼び出してみたところ、このスロットのブレークポイントが見つかったので、問題ありませんでした。setValue の引数として「50」も設定しようとしました
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 はフォーム (mainwindow の子) です...
私はVisual Studio 2010、W7 prof、QT 4.8で働いています