
Qt
红娃子
这个作者很懒,什么都没留下…
展开
-
QMutex
QMutex提供了线程间的顺序访问。QMutex的目的是保护一个对象、数据结构或者代码段,所以同一时间只有一个线程可以访问它。(类似java的"synchronized”关键字)。互斥量最好和QMutexLocker搭配使用,因为它使得互斥量的解锁和锁定变得相当一致。比如: int number = 6; void method1() { number *= 5;翻译 2013-08-20 08:51:56 · 4721 阅读 · 1 评论 -
QWaitConditon应用
背景:在编写多线程的时候,有的线程需要一直的执行下去,永不停止,但是有的线程是需要它能够在我们的控制下自由地的开始和暂停。那么常用的方法就是让线程等待一个标志,标志为假就睡眠,当标志为真就唤醒。Qt提供了类似的机制,那就是QWaitConditon类。一、QWaitConditon简介线程如何睡眠?调用QWaitCondition的wait函数将使得调用它的线程进入睡眠状态线程如何原创 2013-09-24 15:49:11 · 1283 阅读 · 0 评论 -
Qt的show和exec的区别
一.QDialog的show()和exec()定义(1)show()显示一个非模式对话框。控制权即刻返回给调用函数。弹出窗口是否模式对话框,取决于modal属性的值。(2)exec()显示一个模式对话框,并且锁住程序直到用户关闭该对话框为止。函数返回一个DialogCode结果。在对话框弹出期间,用户不可以切换同程序下的其它窗口,直到该对话框被关闭。(3)模式和非模式对话框转载 2013-09-03 11:10:18 · 5050 阅读 · 0 评论 -
Qt configure选项
当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看-release这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。-debug与上面对应,自然是调试版了,如果开发的话,可以选择它吧。-debug-and-release囧,上面那两个的儿子。-developer-b转载 2013-08-17 08:50:34 · 1350 阅读 · 0 评论 -
MinGW介绍与使用
1.MinGW 是什么?MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环转载 2013-08-13 08:56:58 · 2176 阅读 · 0 评论 -
QMutexLocker
QMutexLocker用来简化互斥量的锁定和解锁操作。在复杂函数或者异常处理代码中互斥量的锁定和解锁容易出错和难以调试。QMutexLocker就可以应用于这些情况,确保互斥量状态总是定义明确。应该在程序中QMutex需要被锁定处创建QMutexLocker。当QMutexLocker被创建后,互斥量就锁定了。你可以使用unlock()和relock()来解锁和再次锁定互斥量。如果互斥量翻译 2013-08-20 09:20:04 · 19458 阅读 · 0 评论 -
QSemaphore
QSemaphore提供了一个通用的可计数的信号量。信号量实际上就是广义的互斥量。一个互斥量只能被锁定一次,然而一个信号量可以被获取多次。信号量常被用于保护一定数目的同类资源。信号量支持两种基本的操作:acquire()和 release()acquire(n)尝试获取n个资源。如果没有这么多数目的资源可用,它就阻断调用它的程序直到资源可用。release(n)释放n个翻译 2013-08-20 10:23:00 · 4216 阅读 · 0 评论 -
QWaitCondition
QWaitCondition提供一个条件变量来实现线程间同步。QWaitConditions允许一个线程告诉其它线程某种条件已经满足,一个或多个线程可以等待一个由wakeOne()或wakeAll()设定的条件QWaitCondition。使用wakeOne()会唤醒一种随机选择的事件或者wakeAll()会把它们全部唤醒。比如,假定每次用户按下一个键,我们有三个任务要同时执行,每个任翻译 2013-08-20 11:58:04 · 4855 阅读 · 1 评论 -
QThread
QThread提供了一个平台无关的方式来管理线程。一个QThread对象管理程序里的一个线程。当QThread对象执行run()后它管理的线程开始运行。默认方式,run()函数的执行将调用exec()函数,开始该线程的事件循环。你可以使用QObject::moveToThread()来将一个工作对象加入到某个线程中。class Worker : public QObject {翻译 2013-08-19 13:55:13 · 6860 阅读 · 1 评论 -
Qt-4.8.3移植
前提:linux下装有arm-linux-gcc交叉编译环境一.编译安装触摸屏驱动库tslib-1.41.下载源码http://ishare.iask.sina.com.cn/f/21567219.html2.解压源码#tar zxvf tslib-1.4.tar.gz (注意后缀,后缀tar.gz变了zxvf就得变)3.配置编译进入到解压好原创 2013-06-22 22:55:11 · 1655 阅读 · 0 评论