楼主检查一下这段代码:
SegyRevise::SegyRevise(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
ui.progressBar->setVisible(false);
connect(ui.revisePushButton,SIGNAL(clicked()),&myCompThread,SLOT(start()));
connect(&myCompThread,SIGNAL(progressBarMaxValue(qint32)),this,SLOT(setProgressBarMaxValue(qint32)));
connect(&myCompThread,SIGNAL(progressBarIncreased()),this,SLOT(setProgressBarValue()));
qRegisterMetaType<QString>("QString");
connect(&myCompThread,SIGNAL(postErrorMessage(const QStrin&)),this,SLOT(showErrorMessage(const QString&)));
}
其中
connect(&myCompThread,SIGNAL(progressBarIncreased()),this,SLOT(setProgressBarValue()));
这个语句中signal与slot的参数似乎不对,应该为:
connect(&myCompThread,SIGNAL(progressBarIncreased(qint32)),this,SLOT(setProgressBarValue(qint32)));???
再就是楼主留意一下Qt的文档,QProgressBar的取值范围似乎是有限的。