自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (4)
  • 收藏
  • 关注

转载 关于坐标系统的理解

为什么使用这两个概念? 为了让在逻辑坐标下自己作的图,在窗口大小变换时能自动适应,而不用去管窗体目前(物理上)是多大的。概念区别 我们先要明白视口和窗口,物理坐标和逻辑坐标的概念,所谓视口与其物理坐标 ,就是指在屏幕上的看到的实际的一个个像素和其坐标,而所谓窗口和逻辑坐标,就是指我们指定了一个这个窗体的坐标系,在这个坐标系内做的东西是先在其内画好,在转换到物理坐标系内去。本来物理坐...

2018-06-09 21:06:59 623

转载 向上转型和向下转型,动态转换、和静态转换详解

子类转换为父类:向上转型,使用dynamic_cast(expression),这种转换相对来说比较安全不会有数据的丢失; 父类转换为子类:向下转型,可以使用强制转换,这种转换时不安全的,会导致数据的丢失,原因是父类的指针或者引用的内存中可能不包含子类的成员的内存。动态转换和静态转换,dynamic_cast(expression),static_cast(expression),表示的是将...

2018-06-08 14:16:06 1191

转载 52221863

Qt程式异常崩溃处理技巧(Win) - baidu_33570760的博客 - CSDN博客 关闭

2018-01-01 12:30:40 278

原创 Qt5 json文件"读"与"写"

Qt5对json的操作类有QJsonDocument、QJsonObject、QJsonArray、QJsonValue、QJsonParseError。还有一些辅助的功能类,如QVariantMap、QVariantHash。QJsonDocument QJsonDocument既可以从一个基于文本表示的UTF-8编码,又可以从Qt自己的二进制格式读取和写入这个文件。JSON文档可以从它

2016-06-20 21:55:51 4815

转载 Log4Qt

Log4Qt 使用简介 没用过Log4J和Log4CXX,初次接触Log4Qt,还真有点头昏脑胀,无论如何,先简单记录一下。Log4Qt Log4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的资料应该是最直接有效的(因为Log4Qt的直接资料太少了)。Log4Qt主要是用来记录日志(有助于程序调试)。有3个主要的组件: Logger 提供日志记录服务,可以有

2016-06-04 18:27:21 730

转载 QDialog 数据传递

对话框的出现用于完成一个简单的或者是短期的任务。对话框与主窗口之间的数据交互相当重要。对话框分为模态和非模态两种。我们也将以这两种为例,分别进行阐述。模态对话框使用了 exec() 函数将其显示出来。exec() 函数执行代码就会被阻塞,后面的语句也就不会被执行到。因此,对于使用了 exec() 显示的模态对话框,我们可以在exec() 函数之后直接从对话框的对象获取到数据值。实际上,QDial

2016-05-24 15:36:27 5877

转载 QT 自定义消息

#define TEST_EVENT QEvent::User + 100class CVxActuatorMain : public QMainWindow{ protected: void customEvent(QEvent *event);}CVxActuatorMain::CVxActuatorMain(QWidget *parent, Qt::WFlags flags

2016-05-18 15:17:21 986

原创 QLocalServer和QLocalSocket单进程和进程通信

描述: QLocalServer 继承自QObject。QLocalServer提供了一个基于本地套接字(socket)的服务端(server)。它可以接受来自本地socket的连接。server通过调用listen(),监听特定的连接。newConnection()是在每次server与client连接上时所发出的信号。nextPending- Connection()将等待中的

2016-05-18 15:10:23 1247

转载 C++/Qt 内存管理机制

本文关注于 Qt 的内存管理,这里会使用 Qt 的机制,来实现一个简单的垃圾回收器。C++ 内存管理机制 C++ 要求开发者自己管理内存。有三种策略: 让创建的对象自己 delete 自己的子对象(这里所说的子对象,是指对象的属性,而不是子类,以下类似); 让最后一个对象处理 delete; 不管内存。 最后一种通常成为“内存泄漏”,被认为是一种 bug。

2016-05-13 16:03:43 553

转载 Qt QEventLoop 的使用两例

Qt 是事件驱动的,所以当你用Qt的时候,几乎时时刻刻和 QEventLoop 打交道、,只是你可能没有意识到.QCoreApplicaton::exec() QApplication::exec() QDialog::exec() QThread::exec() QDrag::exec() QMenu::exec() …在前面列出的这些常见函数的背后,都有各自的QEventLoop,可

2016-03-07 15:16:53 1898

转载 从 Qt 的 delete 说开来

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-03-07 14:59:56 347

原创 关于面向对象的内存释放问题

曾今我们糊里糊涂的编写代码时,遇到一个对象指针的时候,都会默默的告诉自己注意释放它。其实能够意识到这样的问题是很好的。但是有时候我们在调用SDK对象的时候,偶尔就不在乎这无伤大雅的事了。比方说,在一个函数体重创建大量的指针对象时,我们不需要手动释放它,对象指针超出作用域时,它自己就析构了。然而,你自己定义的莫名的指针对象的时候,这时你得注意要手动释放它。

2015-10-20 22:16:44 391

转载 Qt实现复杂的列表控件

有高手指点如下,红框圈起来的是QLabel,1个进度条,2个按钮(toolButton),1个布局,1个QWidget(容器),组成一个widget。放进QListWidget里。进度条用样式表美化一下,参考:点击这里。其中主要用这个函数:void QListWidget::setItemWidget(QListWidgetItem * item, QWidget

2015-10-16 14:24:35 6766

转载 Qt 对象树 <二>

QT父子与QT对象delete 2010-08-09 09:42:01分类: C/C++很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之 间的父 子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当delete一个父对象的时候,Qt的对象

2015-09-28 10:07:16 924

转载 Qt 对象树 <一>

分类: C/C++        QObjects类以对象树组织。创建的QObjects会自动添加到它的父对象的childern()列表中,并且父对象被删除时,子对象也会被删除。这种方法很适合GUI对象。例如:QShortcut是某个窗口的子对象,当用户关闭这个窗口时,QShortcut对象就会被删掉。        QQuickItem是Qt Quick模块的基础图像元素,派

2015-09-23 17:45:17 920

转载 QMetaObject之invokeMethod说明和使用

QMetaObject之invokeMethod 点滴记录(有时间在看看)分类: QT编程qtsemaphoreconstructorobjectsignalfunction目录(?)[+]QMetaObject之invokeMethod 点滴记录2010-10-18 16:53起源C++

2015-09-23 13:41:56 23273

转载 c++ 代理类与句柄类实现思想

指针是 C 与其他语言区别的重要特征之一,在 C++ 中,指针也被广泛运用,我们通过指针实现多态。然而,众所周知,指针的使用必须小心,否则很容易造成内存泄漏 Memory Leak。当我们有几个指针指向同一个对象时有其应该注意,关于何时释放这个对象:(1) 如果释放的太早,那么其它的指针仍然指向这片内存,如果再使用它会造成未定义行为。(2) 如果一直不释放可能会丢失最后一个指向这个对象的指

2015-09-18 11:20:18 503

转载 Qt 插件模块的编写和管理

本文介绍的是使用Qt如何编写模块化插件式应用程序,对于插件式应用程序的讲解,也很详细,我们废话不多说,先看内容。动态链接库技术使软件工程师们兽血沸腾,它使得应用系统(程序)可以以二进制模块的形式灵活地组建起来。比起源码级别的模块化,二进制级别的模块划分使得各模块更加独立,各模块可以分别编译和链接,模块的升级不会引起其它模块和主程序的重新编译,这点对于大系统的构建来说更加实用。另一方面,对于

2015-09-13 10:23:29 1525

转载 Qt 多线程编程中的对象线程与函数执行线程

近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread

2015-09-11 15:46:49 1798 1

原创 Qt 为自己的程序建立一个消息循环

At any time, you can create a QEventLoop object and call exec() on it to start a local event loop. From within the event loop, calling exit() will force exec() to return.从Qt文档上找出这句话。所以,我们时刻都可以为自己的应用

2015-09-11 10:51:57 3769 2

转载 Meta-Object系统

Meta-Object系统标签:Qt C++ 学习 QT教程 教程前面说过,Qt使用的是自己的预编译器,它提供了对C++的一种扩展。利用Qt的信号槽机制,就可以把彼此独立的模块相互连接起来,不需要实现知道模块的任何细节。 为了达到这个目的,Qt提出了一个Meta-Object系统。它提供了两个关键的作用:信号槽和内省。 面向对象程序设计里面会讲到Smallt

2015-09-10 11:34:36 484

转载 Qt 序列化操作

应用需求:        在网盘开发过程中有这样一个需求,即对文件版本进行控制,即记录文件版本的更替信息,这里说的更替信息仅仅是记录不同时刻的文件变化,即文件的增、删、改、重命名等操作。在每个待监控的目录下都会保存一份文件,记录文件变化的增量信息,每次低版本到高版本升级的时候就可以通过消元合并操作快速地进行。关于文件版本控制的具体实现方案会在开发完善后列出,这里仅仅指出它的保存方式,即将文

2015-09-10 10:13:43 2087

转载 Qt自定义事件实现及子线程向主线程传送事件消息(理论+代码)

最近在重新学习Qt的时候,因为要涉及到子线程与主线程传递消息,所以便琢磨了一下,顺便把实用的记录下来,方便自己以后查询及各位同仁的参考!特此声明,本篇博文主要讲述实用的,也就是直接说明怎么实现,就不打算陈述一大堆理论啦,不过,还是建议大家去查查相应的理论比较好,这样能对Qt的消息传送机制的理解更加深入!根据网上大多数人的资料,要实现自定义消息,需要从QEvent 派生一个自定义的事

2015-09-09 22:58:57 2721

转载 Qt 自定义事件

Qt允许你创建自己的事件类型,这在多线程的程序中尤其有用,当然,也可以用在单线程的程序中,作为一种对象间通讯的机制。那么,为什么我需要使用事件,而不是使用信号槽呢?主要原因是,事件的分发既可以是同步的,又可以是异步的,而函数的调用或者说是槽的回调总是同步的。事件的另外一个好处是,它可以使用过滤器。Qt中的自定义事件很简单,同其他类似的库的使用很相似,都是要继承一个类进行扩展。在Qt中,你需

2015-09-09 22:42:13 1036

转载 Qt 信号槽机制与事件机制四 提升篇

标 题: 【翻译】Qt内部机制及逆向作 者: zouzhin时 间: 2011-04-30,15:51:44链 接: http://bbs.pediy.com/showthread.php?t=133181【翻译】Qt内部机制及逆向原作者:Daniel Pistelli ;翻   译:zouzhin参加看雪有很长一段时间了,一直无所贡献,真是有愧各位同坛好友。前不久

2015-09-09 17:23:27 2461

转载 Qt 信号槽机制解析三 补充解释源代码

moc生成文件分析:首先看一下简单含有的signal, slot代码class myClass : public QObject{    Q_OBJECTpublic:    myClass();    ~myClass();    void trigger();    void trigger2();signals:    void signalFun

2015-09-08 14:30:43 511

转载 static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较

static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较(使用vs2010所带的编译器) 转载请注明来源 http://www.cnblogs.com/jerry19880126/隐式转换(implicit conversion)short a=2000;int b;b=a;short是两

2015-09-08 13:25:41 346

转载 Qt 信号槽机制解析二 分析原代码

这一篇 涉及到Qt 元对象概念,从根本上解析Qt 信号槽是如何对应的.如果你的问题还停留在跨线程当中,那我也没办法!QT 源码之QT元对象系统和信号槽机制是本文要介绍的内容。QT的信号和槽机制是用来在对象间通讯的方法,当一个特定事件发生的时候,signal会被 emit 出来,slot 调用是用来响应相应的 signal 的。简单点说就是如何在一个类的一个函数中触发另一个类的另一个函数

2015-09-07 22:38:27 556

转载 Qt 信号槽机制解析一 理论篇

一、信号槽的基本概念关于QT信号槽的基本概念大家都懂,通过信号槽机制,QT使对象间的通信变得非常简单:A对象声明信号(signal),B对象实现与之参数相匹配的槽(slot),通过调用connect进行连接,合适的时机A对象使用emit把信号带上参数发射出去,B对象的槽会就接收到响应。 信号槽机制有一些特点:1.   类型安全:只有参数匹配的信号与槽才可以连

2015-09-07 22:28:08 797

转载 QT源码之Qt信号槽机制与事件机制的联系

QT源码之Qt信号槽机制与事件机制的联系是本文要介绍的内容,通过解决一个问题,从中分析出的理论,先来看内容。本文就是来解决一个问题,就是当signal和slot的连接为Qt::QueuedConnection,这时候这个连接是怎么分发处理的。下面就结合一下Qt的源代码来分析一下。view plaincopy to clipboardprint?  if ((c->connectionT

2015-09-05 22:09:03 557

转载 QT中实现Thread与GUI主线程连通方法

本文介绍的是QT中实现Thread与GUI主线程通,目前只会一种,采用信号槽机制。通常情况下,信号和槽机制可以同步操作,这就意味着在发射信号的时候,使用直接函数即可以立刻调用连接到一个信号上的多个槽。然而,当连接位于不同线程中的对象时,这一机制就会变得不同步起来,可以通过修改QObject::connect()的第5个可选参数而改变。connect的第五个参数Qt::QueuedC

2015-09-05 21:51:44 3427 4

转载 Qt 事件处理机制 (下篇)

继续我们上一篇文章继续介绍,Qt 事件处理机制 (上篇) 介绍了Qt框架的事件处理机制:事件的产生、分发、接受和处理,并以视窗系统鼠标点击QWidget为例,对代码进行了剖析,向大家分析了Qt框架如何通过Event Loop处理进入处理消息队列循环,如何一步一步委派给平台相关的函数获取、打包用户输入事件交给视窗系统处理,函数调用栈如下:main(int, char **)   QAppli

2015-09-05 21:48:44 1091

转载 Qt 事件处理机制 (上篇)

本篇来介绍Qt 事件处理机制 。深入了解事件处理系统对于每个学习Qt人来说非常重要,可以说,Qt是以事件驱动的UI工具集。 大家熟知Signals/Slots在多线程的实现也依赖于Qt的事件处理机制。在Qt中,事件被封装成一个个对象,所有的事件均继承自抽象类QEvent.  接下来依次谈谈Qt中有谁来产生、分发、接受和处理事件:1、谁来产生事件: 最容易想到的是我们的输入设备,比如

2015-09-05 21:45:47 465

转载 qt QSettings 用法总结

用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是recentfiles,等等这些都可以通过Qsettings来实现。   我们知道,这些settings一般都是存在系统里的,比如windows一般都写在系统注册表或者写INI文件,mac系统一般都在XML文件里,那么按照一般的标准来说,许多应用程序是用INI文件来实现

2015-09-05 14:47:51 745

转载 *.pro、*.pri、*.prf、*.prl文件介绍和使用

浅谈 qmake 之 pro、pri、prf、prl文件分类: Qt tools cmake/qmake2011-04-24 01:23 22235人阅读 评论(11) 收藏 举报qtbuildfeaturesincluderesourceswindows目录(?)[+]尽管每次和cmake对比起来,我们总是说 qmake 简单、功能

2015-09-04 19:16:52 517

转载 QT工程pro文件TEMPLATE变量说明

QT工程pro文件模板变量(TEMPLATE)模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。lib - 建立一个库的makefile。vcapp - 建立一个应用程序的Visual Studio项目文件。vclib - 建立一个库的Visual Stu

2015-09-04 17:25:24 422

转载 QT跨目录编译及多工程集成

[+]采用一个非常简单的Qt程序作为例子,通过pro文件的合理编写,使得我们的程序在使用动态库的时候,几乎可以忽略掉动态库的存在。它包括3部分:生成动态库使用动态库生成与使用的自动化测试环境:ubuntu 11.04 + Qt 4.7.2windows vista + Qt 4.7.0(MSVC2008)windows vista + Qt 4.6.3(Mi

2015-09-04 16:40:28 1481

转载 如何在Qt中使用自定义数据类型

Q_DECLARE_METATYPE, Qt自定义类型这里我们使用下面这个struct来做说明(这里不管是struct还是class都一样):struct Player{    int number;QString firstName;    QString lastName;};复制代码QVariant 为了能在QVariant中使用自定义数据类型做,需要使用

2015-09-03 20:59:08 1429

转载 关于Qt Webkit模块详细介绍 一

关于Qt Webkit模块详细介绍 关于Qt Webkit模块详细介绍是本文要介绍的内容,主要是来学习webkit的使用方法,QtWebkit 模块提供了一个在Qt中使用web browser的engine,这使得我们在QT的应用程序中使用万维网上的内容变得很容易,而且对其网页内容的控制也可以通过native controls 实现。QtWebkit具有

2015-08-30 18:31:30 907

转载 Qt 如何正确的让程序睡眠

Qt框架是Symbian应用程序开发和MeeGo应用程序开发的主要框架,我们在编写Qt程序时经常会遇到这样的需求: 让程序等待一段时间, 这段时间里可能程序什么都不做, 也可能是在后台开了个子线程在做一些用户看不见的工作。首先我们容易想到的方法是使用类似linux提供的”sleep”或”usleep”函数。 但用过这组函数的Qter都知道, 这组函数会将你当前的线程/进程变为“睡眠”状态。

2015-08-30 18:20:09 2601

x264音视频编解码源码

x264音视频编解码源码x264音视频编解码源码x264音视频编解码源码x264音视频编解码源码

2018-02-23

Qt 应用程序单例

Windows视音频技术开发,附加源码Windows视音频技术开发,附加源码Windows视音频技术开发,附加源码Windows视音频技术开发,附加源码Windows视音频技术开发,附加源码

2018-02-23

DB120_无线认证,有线通过.wps

网络数据认证 通过无线或者有线区认证,具体的你可以自己去感悟下。 内容丰富,涵盖面你懂得。

2012-10-25

linux下多线程编程

多线程的应用可以降低cpu占用资源,可以让操作系统更能发挥自己的优势。多线程的编程在现在的移动设备上的应用将是个不可代替的角色。

2012-06-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除