
qt
文章平均质量分 81
一起摇摆_xianggy
linux, qt fresh112
展开
-
qrand()的用法
所谓的“伪随机数”指的并不是假的随机数,这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正点到了事物的特性 —— 规律性;但是每种树的叶子都有近似的形状,这正是事物的共性 —— 规律性。从这个角度讲,转载 2013-12-23 20:56:08 · 670 阅读 · 0 评论 -
Qt show()和exec()
1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。2.当删除一个dialog对象时,exec()返回QDialog::Rejected,因此在删除dialog时要特别小心。举例说明一下:A 是一个QWidget 。B是一个QDialog,B = new QDialog(A)。int rec = B->exec();if (!th转载 2014-03-26 22:35:00 · 3099 阅读 · 0 评论 -
QObject 之 Thread依附性
引自:http://blog.youkuaiyun.com/dbzhang800/article/details/6557272非常感谢作者:dbzhang800注意,本文试图通过源码解释下面的问题:子QObject必须在其parent关联的线程内创建调用moveToThread()的对象其parent必须为0事件驱动的对象要在单一线程内使用QTimer、netwo转载 2014-03-30 16:26:25 · 873 阅读 · 0 评论 -
理解Qt多线程类
QThread 应该被看做是操作系统线程的接口或控制点,而不应该包含需要在新线程中运行的代码。需要运行的代码应该放到一个QObject的子类中,然后将该子类的对象moveToThread到新线程中。POINT 1:QThread类的实例与普通类的实例没什么不同,只是运行着的run()函数会不同 例1:class MThread :public QTh转载 2013-12-29 11:49:38 · 1025 阅读 · 1 评论 -
exec()之QWidget,QDialog
很多人觉得QDialog比QWidget高级很多,为什么呢?QDialog(this) 和 QWidget(this) 前者是窗口,后者不是。QDialog 除 show()外,还有 exec() 和 open() 两个成员用来显示窗口。QDialog ....本文内容:如何使用QWidget来实现QDialog的常用功能,通过定义一个名为HDailog的类希望对大家理解QWidg转载 2014-03-29 23:27:39 · 9566 阅读 · 1 评论 -
QThread中的slots在那个线程中执行?
引自:http://hi.baidu.com/dbzhang800/item/1e931317d37d71dcbe904247QThread 似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便用google一搜,就能搜出大量结果出来。无怪乎Qt的开发人员 Bradley T. Hughes 声嘶转载 2014-03-30 14:34:51 · 1289 阅读 · 0 评论 -
QDialog 模态对话框与事件循环
起源qtcn中文论坛中有网友问到:假设程序正常运行时,只有一个简单的窗体A,此时只有一个GUI主线程,在这个主线程中有一个事件循环处理窗体上的事件。当此程序运行到某阶段时,弹出一个模态窗体B(书上说模态窗体是有其自己的事件循环的),此时模态窗体B是否会有一个对应的子线程处理其事件循环?这儿其实有两个问题:模态对话框 和 事件循环 没有必然联系事件循环 和 子线程 没有必转载 2014-03-29 15:50:06 · 746 阅读 · 0 评论 -
线程和事件循环
引自:http://www.devbean.net/2013/11/qt-study-road-2-thread-and-event-loop/事件可以由程序生成,也可以在程序外部生成。例如:QKeyEvent和QMouseEvent对象表示键盘或鼠标的交互,通常由系统的窗口管理器产生;QTimerEvent事件在定时器超时时发送给一个QObject,定时器事件通常由操作系转载 2014-03-29 14:28:40 · 1498 阅读 · 0 评论 -
Qt之ignore()和accept()
首先来看一段代码:1234567891011121314151617181920212223242526272829303132333435//!!! Qt5// ---------- custombutton.h ---------- //class CustomButton : pu转载 2014-03-15 21:06:35 · 7692 阅读 · 2 评论 -
Qt 事件循环机制 & 事件过滤器
在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent. 接下来依次谈谈Qt中有谁来产生、分发、接受和处理事件:1、谁来产生事件: 最容易想到的是我们的输入设备,比如键盘、鼠标产生的keyPressEvent,keyReleaseEvent,mousePressEvent,mouseReleaseEvent事件(他们被封装成QMouseEvent和QKeyEven转载 2014-03-09 16:55:13 · 3930 阅读 · 0 评论 -
Qt之线程和QObject
前面两个章节我们从事件循环和线程类库两个角度阐述有关线程的问题。本章我们将深入线程间得交互,探讨线程和QObject之间的关系。在某种程度上,这才是多线程编程真正需要注意的问题。现在我们已经讨论过事件循环。我们说,每一个 Qt 应用程序至少有一个事件循环,就是调用了QCoreApplication::exec()的那个事件循环。不过,QThread也可以开启事件循环。只不过这是一个转载 2014-03-15 23:33:42 · 2402 阅读 · 0 评论 -
Qt之event()
前面的章节中我们曾经提到event()函数。事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。如上所述,event()函数主要用于事件的分发。所以,如果你希望在事件分发之前做一些操作,就可以重写这个event()函数了。转载 2014-03-15 21:25:44 · 912 阅读 · 0 评论 -
qt事件机制
学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同。Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理。现在,我们从头开始讲解。到底什么是事件呢? 事件起源: 基于事件如何被产生与分发,可以把事件分为以下三类。Spontaneous 事件——自发事件由窗口系统产生,它们被放到系统队列转载 2014-03-09 13:50:18 · 780 阅读 · 0 评论 -
Qt内存管理机制
强类型语言在创建对象时总会显式或隐式地包含对象的类型信息。也就是说,强类型语言在分配对象内存空间时,总会关联上对象的类型。相比之下,弱类型 语言则不会这样做。在分配了内存空间之后,有两种方法释放空间:手工释放,或者是使用垃圾收集器。C++ 要求开发者手工释放内存空间。这样做的好处是,开发者对内存有完全的控制能力,知道什么时候释放比较合适。Java 则使用垃圾收集器。它在后台会有一个线程根据一定的算转载 2014-03-13 22:00:35 · 884 阅读 · 0 评论 -
Qt文件读写
今天开始进入 Qt 的另一个部分:文件读写,也就是 IO。文件读写在很多应用程序中都是需要的。Qt 通过 QIODevice 提供了IO的抽象,这种设备(device)具有读写字节块的能力。常用的IO读写的类包括以下几个:QFlie访问本地文件系统或者嵌入资源QTemporaryFile创建和访问本地文件系统的临时文件QBuffer读写 QByt转载 2014-03-13 23:22:07 · 2417 阅读 · 0 评论 -
Qt 内存管理与布局管理器
转自:http://blog.youkuaiyun.com/qq575787460/article/details/7824633一、new与delete在C++学习中,new与delete必须成对使用,防止内存泄漏,可是在学习Qt时,我发现很多new,而却几乎找不到delete。在网上搜索得知:Qt完善了C++的内存管理机制,“如果指针对象有父对象,那么父对象在被释放时,会自动释转载 2014-06-22 16:15:05 · 784 阅读 · 0 评论