zoukankan      html  css  js  c++  java
  • Qt多线程应用QRunnable显示进度条示例

    进度条:

    代码如下:

    #include <QtGui/QApplication>
    #include <QProgressBar>  
    #include <QThreadPool>
    #include <QTest>
    #include <QtCore>
    
    
    class RunnableTask : public QRunnable
    {
    public:
        RunnableTask(QProgressBar* progressBar)
        {
            m_ProgressBar = progressBar;
        }
    
        void run()
        {
            for (int i = 1; i <= 100; i++)
            {
                QMetaObject::invokeMethod(m_ProgressBar, "setValue", Qt::QueuedConnection, Q_ARG(int, i));
                QTest::qSleep(100);  
    
                qDebug() << "testRunable" << i << "%  " << QThread::currentThread() << endl;
            }
        }
    
    private:
        QProgressBar* m_ProgressBar;  
    };
    
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QProgressBar progressBar;
        progressBar.setValue(50);  
        progressBar.show();  
    
        RunnableTask* task = new RunnableTask(&progressBar);
        QThreadPool::globalInstance()->start(task);
    
        return a.exec();
    }
  • 相关阅读:
    算法笔记--二分图判定
    算法笔记--最小表示法
    Codeforces 525A
    Codeforces 140D
    Codeforces C
    Codeforces 665C
    Codeforces 604B
    Codeforces 285C
    The Fewest Coins POJ
    Triangular Pastures POJ
  • 原文地址:https://www.cnblogs.com/liuyunfeifei/p/2816620.html
Copyright © 2011-2022 走看看