我此行我的代碼:沒有這樣的插槽QProgressBar :: setValue方法(const int的)
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
...
我嘗試這樣做:我在爭論int
之前刪除const
,但沒有改變。我試圖用調試器調用其他插槽,並在此插槽中找到了斷點,所以它沒問題。我也嘗試設置 '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教授和QT 4.8
「我刪除了const之前int參數」 - 你是說,在SLOT(...)? – SingerOfTheFall
no ... SLOT(update_progress_bar(int))... –
它應該是:'QObject :: connect(scanning_worker,SIGNAL(update_progress_bar(int)),ui.progress_bar,SLOT(setValue(int)));' 。根本沒有'const'。 –