ロジックレイヤーのループからビューレイヤーの QProgressBar を更新したい場合 (各反復がプログレスバーを更新するなど)、それを行う適切な方法は何ですか?
ありがとう
ロジックレイヤーのループからビューレイヤーの QProgressBar を更新したい場合 (各反復がプログレスバーを更新するなど)、それを行う適切な方法は何ですか?
ありがとう
class LogicClass : public QObject
{
Q_OBJECT
public:
explicit LogicClass(QObject *parent = 0);
int max(){ return 100; }
int min(){ return 0; }
void emit50(){ emit signalProgress(50); }
signals:
void signalProgress(int);
public slots:
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
LogicClass logic;
ui->progressBar->setMaximum( logic.max() );
ui->progressBar->setMinimum( logic.min() );
connect( &logic, SIGNAL( signalProgress(int) ), ui->progressBar, SLOT( setValue(int) ) );
logic.emit50();
}
QProgressBarには、最小値と最大値、および現在の値を設定するために使用されるいくつかのパブリックスロットがあります。現在の値を増やすと、プログレスバーが移動します。QProgressBarの「voidsetValue(int value)」スロットに接続されているロジックレイヤーから信号を発信できます。 http://doc.qt.digia.com/qt/qprogressbar.html