我有一个 QWizard 子类,对于某些页面,调用方法需要很长时间,所以我想放入一个 QProgressBar。我的第一个想法是我创建了一个 QTimer 并设置了一个方法来调用 updateProgressBar,但它似乎与向导在同一个线程中运行,所以只有在 QWizard 不忙时才会更新。我怎样才能让它在另一个线程中运行?
问问题
454 次
2 回答
0
将您的长时间运行的任务移动到作为QThread子类的工作线程中。让工作线程发出一个信号以指示其进度(完成百分比,如果您知道的话),并将该信号连接到进度条的 setValue(int) 插槽。
于 2012-07-31T12:20:51.123 回答
0
谢谢,我结束了在 QWizard 类中创建 QThread 对象并调用 moveToThread 将对象移动到线程。如http://www.developer.nokia.com/Community/Wiki/How_to_move_a_QObject_to_a_thread
于 2012-07-31T18:10:19.567 回答