Qt
se-tester
这个作者很懒,什么都没留下…
展开
-
设置应用程序的图标(Setting the Application Icon)— Mac OS X
所谓应用程序的图标,就是在dock上显示的图标,通过调用QWindow::setWindowIcon() 实现的,但是,有可能在函数QWindow::setWindowIcon()被调用前程序会出现在dock上,在这种情况下,在dock上跳出来的app的图标将会是一个默认的图片。为了保证出现正确的app图标,在Finder中和当app正启动时,有必要使用一个和平台相关的技术。1.如果使原创 2015-08-13 13:46:04 · 3029 阅读 · 0 评论 -
继承QGraphicsItem 编译错误:error: no member named 'staticMetaObject' in 'QGraphicsItem'; did you mean sim
继承QGraphicsItem,必须同时继承QObject类,并且多继承的时候,QObject放在第一个。Class TestItem : public QObject, public QGraphicsItem{ Q_OBJECT public: explicit TestItem(QGraphicsItem *item=0); ...}原创 2015-08-19 17:32:28 · 1348 阅读 · 2 评论 -
Qt Quik是什么?
Qt Quick模块是写QML应用程序的标准库。Qt QML组件提供 QML 引擎和语言基础设施,而Qt Quick模块提供用来创建用户界面所必需的所有的基本类型。Qt Quick提供一个可视的画布,并包含了用来创建和做动画的可视化组件,接收用户输入,创建数据模型和视图,以及延时的对象实例化。Qt Quick模块同时提供了一个QML API和一个C++ API,其中QML API为使用QML原创 2015-09-18 16:03:36 · 1174 阅读 · 0 评论 -
每次生成不一样的随机数
使用qrand() 和 qsrand(uint seed)如果不用qsrand(uint seed)设置初始值,qrand()每次产生相同的随机数,可以使用QTime类的secsTo()函数,它表示两个时间点之间的秒数,如下qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));int rand = qrand()%100;//生成30原创 2015-08-14 16:34:34 · 2921 阅读 · 0 评论 -
信号量(Semaphore) 例子
使用Qt证明多线程编程。这个信号量例子展示了如何使用 QSemaphore 来控制对一个循环缓冲区的访问,生产者线程和消费者线程共享该缓冲区。生产者线程往缓冲区写数据,直到缓冲区的尾部,然后从缓冲区开头重新开始重写已经存在的数据。当数据被生产出来后消费者线程读取数据并写道标准错误中。与互斥量(mutex)相比,信号量(semaphore)使高效并行成为可能。如果使用QMutex控制访问原创 2015-08-28 14:56:16 · 945 阅读 · 0 评论 -
可重入性和线程安全性——Reentrancy and Thread-Safety
翻译自 Qt 帮助文档:Reentrancy and Thread-Safety纵观Qt文档,用“可重入”和“线程安全”来标识类和函数以彰显它们在多线程应用程序中是如何被使用的: 线程安全:一个线程安全的函数可以同时被多个线程调用,尽管这些调用使用了共享数据,因为所有指向共享数据的引用都被序列化了;可重入:一个可重入的函数也可以同时被多个线程调用,但调用时只仅原创 2015-08-26 16:43:51 · 1116 阅读 · 0 评论 -
Qt中的多线程技术
翻译自Qt帮助文档:Mutithreading Technologies in QtQt提供了许多类和函数来处理线程。下面是实现多线程应用程序的4个不同的方法。1. QThread: 低级API与可选的事件循环QThread是Qt所有线程控制的基础,每个QThread实例代表并控制一个线程。QThread可以被直接实例化或者子类化。执行实例化一个QThread即提供原创 2015-08-26 22:21:55 · 842 阅读 · 0 评论 -
执行繁重的计算工作而不阻塞主线程--多线程编程
下面以Mandelbrot 为例,看看如何用Qt实现多线程编程的。Mandelbrot展示了如何用工人线程执行繁重的计算工作而不阻塞主线程的事件循环。这里大量的计算工作是Mandelbrot集合,它可能是世界上最著名的fractal(不规则碎片形体)。现实中,这里描述的方法可以应用于大量的问题,包括同步网络I/O和数据库访问,在这种情况下,当执行一些繁重的操作时用户界面必须保持响应原创 2015-08-27 16:01:34 · 1437 阅读 · 0 评论 -
线程同步
翻译自Qt帮助文档:Synchronizing Threads多线程允许并行运行,有时候线程必须停下来等待其他的线程。例如,如果两个线程尝试同时往一个变量中写值,结果是未知的。强制线程等待另一个线程的规则叫互斥(mutal exclusion)。这种个普通的技术用来保护例如数据这样的共享资源。对于同步线程,Qt提供了低级的基元和高级机制。低级同步基元QMutex 是强制互斥原创 2015-08-28 12:24:51 · 384 阅读 · 0 评论 -
Wait Condition 例子
翻译自Qt 帮助文档:Wait Condition Example用Qt证明多线程编程。Wait Condition 例子展示了如何使用 QWaitCondition 和 QMutex 来控制对一个循环缓冲区的访问,生产者线程和消费者线程共享该循环缓冲区。生产者线程往缓冲区写数据,直到缓冲区的尾部,然后从缓冲区开头重新开始重写已经存在的数据。当数据被生产出来后消费者线程读取数据并写道标原创 2015-08-28 20:41:51 · 560 阅读 · 0 评论 -
layout 与layout in splitter区别
layout可以拉伸控件长度,不改变控件高度;layout in splitter 可以改变控件的长和宽。原创 2015-08-13 18:39:45 · 628 阅读 · 0 评论 -
Qt Designer 快捷键
打开Qt Designer后:按F4:进入编辑signal和slot状态;按F3: 恢复控件编辑模式;原创 2015-08-13 15:20:14 · 1651 阅读 · 0 评论