本文主要内容:在任务一中,用 四 种方式实现:点击界面按钮,开线程运行一段程序,结果显示在一个Label上。1. 用不正确的方式得到看似正确的结果2. 用Qt Manual 和 例子中使用的方法3. 用一种好用但被Qt开发人员批判的方法4. 用一种被开发人员强烈推荐,但Qt Manual和例子中只字未提的方法为了简单起见,本文只讲如何做及其结果是什么,而不讲其原因是什么(估计大家对原因也不会感兴趣,详见:QThread 使用探讨 和QThread使用方法)。本文只考虑两个线程(即主线程和一个次线程)的情况。QWidgetQWidget及其派生类均 不能在次线程中使用或创建Manual 中的原话 Read More
posted @ 2014-03-26 16:23 星语海蓝 Views(1191) Comments(0) Diggs(0) Edit
Qt 线程类Qt对线程的支持已经有很多年了(发布于2000年九月22日的Qt2.2引入了QThread类),Qt 4.0版本的release则对其所有所支持平台默认地是对多线程支持的。(当然你也可以关掉对线程的支持,参见这里)。现在Qt提供了不少类用于处理线程,让你我们首先预览一下:QThreadQThread是Qt中一个对线程支持的核心的底层类。 每个线程对象代表了一个运行的线程。由于Qt的跨平台特性,QThread成功隐藏了所有在不同操作系统里使用线程的平台相关性代码。为了运用QThread从而让代码在一个线程里运行,我们可以创建一个QThread的子类,并重载QThread::run() Read More
posted @ 2014-03-26 16:21 星语海蓝 Views(5082) Comments(1) Diggs(0) Edit
初次读到这篇文章,译者感觉如沐春风,深刻体会到原文作者是花了很大功夫来写这篇文章的,文章深入浅出,相信仔细读完原文或下面译文的读者一定会有收获。由于原文很长,原文作者的行文思路是从事件循环逐渐延伸到线程使用的讨论,译者因时间受限,暂发表有关事件循环的译文。另一半线程实用的译文将近期公布。文中有翻译不当的地方,还请见谅。介绍线程是qt channel里最流行的讨论话题之一。许多人加入了讨论并询问如何解决他们在运行跨线程编程时所遇到的问题。快速检阅一下他们的代码,在发现的问题当中,十之八九遇到得最大问题是他们在某个地方使用了线程,而随后又坠入了并行编程的陷阱。Qt中创建、运行线程的“易用”性、缺乏 Read More
posted @ 2014-03-26 16:19 星语海蓝 Views(1603) Comments(1) Diggs(1) Edit