![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
搬砖的jiayi
这个作者很懒,什么都没留下…
展开
-
c++使用 CMarkup进行xml操作(夹带 Qt 操作)
CMarkup 是被提供用来给c++ 解析和操作 xml文件,或者xml的string流的一种框架。网站是 http://www.firstobject.com/。下载解析之后,主要使用到的,就是,Markup.cpp 和 Markup.h 文件。一、CMarkup 添加到工程...原创 2019-11-08 23:50:31 · 1266 阅读 · 0 评论 -
隐性共享和明显共享
隐性共享和显性共享是 c++、Qt的空间管理方式的一种机制。即是,对于下面的这种赋值:int b =20;int a = b;隐性共享,是对于这种一开始没有开辟单独的空间的数据类型,如果直接由其他变量赋值的话,它们是指向同一个内存空间。同时,还会有一个参考计数器,来记录有多少个变量指向了这个空间,如果 a 的数据后来做了修改,才对这个数据做一次深复制(deep copy),真正地开辟一个空间...原创 2019-04-02 23:04:41 · 258 阅读 · 0 评论 -
Qt、C++的容器类,附带QVariant、QString的一点备忘
之前对于容器类,没有一个很系统的了解。后来才专门看了 《C++ GUI Qt 编程》的这一部分内容,做一下笔记。需要先说的是,这里对 C++自身的 STL 容器类只是附带提下,不是很深刻。容器类,就是一些对象,可以承载其他类对象,并且具有成熟的对自己这些元素的操作函数的类。这个可能和数组之类的有点像,但是在设计概念上,应该是远远高于数组之类的。我觉得容器类提供了完整二封装得极好的数据结构,来实现...原创 2019-04-02 22:42:23 · 750 阅读 · 0 评论 -
Qt——自定义事件+多线程与GUI线程通信
当一个Qt应用程序开始执行时,只有一个线程在运行——初始线程,这是唯一一个被允许创建这个QApplication对象并对它执行exec函数的线程。因此,常常把这个线程作为图形用户界面(GUI)线程,在调用exec函数后,这个线程要么等待一个事件,要么处理一个事件。如果我们使用多线程通信,像互斥锁的话,是会因为线程阻塞将GUI线程冻结。所以,互斥锁之类到的做法不支持线程与GUI线程通信。那么,解决...原创 2019-03-24 16:50:46 · 775 阅读 · 0 评论 -
Qt——开启子线程、线程间的通信和同步(非GUI线程)
对于延时的操作,开启多个线程,并各自负责对应的内容(后台逻辑、GUI等),是正常不过的了。开启子线程的流程:——创建thread类并继承QThread。重写run函数(这个函数,就是子线程实际执行的内容了)。——实例化thread类对象,并调用start函数,这就意味着子线程的开启。run函数已经在运行。——QThread提供了一个terminate函数,可以在线程还在运行时终止它的运行。...原创 2019-03-24 15:48:37 · 2617 阅读 · 0 评论 -
Qt--在强烈的处理中保持响应
在强烈的处理中,保持响应的意思,即是进程在处理一个很复杂,很占用CPU资源的操作(比如IO之类的),还能保持界面的活跃,响应用户的动作。保持响应的办法有:——多线程,即主线程完成GUI,其他线程完成其他耗时的操作;——在处理这个耗时操作,比如IO时,频繁调用QApplication::processEvent()。这个函数告诉Qt来处理任何没有被处理的事件,并且将进程(也就是唯一的线程)的...原创 2019-03-24 12:13:40 · 460 阅读 · 0 评论 -
Qt的事件模型
Qt的事件事件和信号与槽的不同:signal and slots 是Qt自己设计的机制之一,但是事件是更底层的,被普遍开发框架接受的机制之一。建议的是,表面 / 界面使用信号与槽,更深层使用事件。事件的来源:事件是窗口系统或者Qt对不同的情况的响应。主要来源就是两个:——是对用户行为的被动响应,比如按下鼠标之类;——被系统独立产生的,比如是定时器事件。或者可以这么说,——Spont...原创 2019-03-23 23:09:44 · 773 阅读 · 1 评论 -
进程和线程的概念——来自Qt的学习
CPU有时间片,对于CPU来说,所有应用程序都是要使用时间片的用户,这些用户从技术语言来说,就是进程。每个进程在启动后,操作系统都会确定其优先级,然后放入进程队列,排队等候CPU处理(就是我们所说的单核,一核有难,八核围看哈哈哈)。这种情况很像单片机,只是裸机的单片机是一直while一个程序,加了操作系统的单片机就是这样,需要排队处理。如果CPU处理好上一件事,那么进程就会得到一些时间片,由于CP...原创 2019-03-10 17:01:42 · 106 阅读 · 0 评论 -
Qt designer的使用、布局和一些注意点
之前自己主要学的是,单片机和嵌入式。虽然也有做过APP和java等。学了单片机和,安卓开发。其实对比了是很有类似的,单片机是有led,开关之类的外设嘛。只需要搭建内部应对逻辑和连接外设的接口。但是,安卓呢,界面上的button,各种view就是单片机的外设了。所以,它不仅需要搭建内部逻辑和连接外设的接口,还需要建设外设。是多了一个任务(搭外设才是最简单的呀)。而Qt的这些界面上的button之...原创 2019-03-04 21:15:16 · 4398 阅读 · 2 评论 -
Qt资源管理(图片、图标、css样式表)
像android studio一样,Qt也有各种资源,比如图片、ui控件的样式之类。分给以下几种:1-图片管理2-图标管理2-css样式表图片管理:首先是要引入图片资源。右键对应的工程,选择:添加新文件——Qt——Qt Resource File——名称自己写——确定。就会生成一个 资源的文件夹,里面有xxx.qrc文件,即是资源文件。右键xxx.qrc文件,选择:添加现有文件——选...原创 2019-03-10 11:47:42 · 2378 阅读 · 1 评论 -
Qt的pro文件的内容分析
Qt工程的pro文件是Qt项目底层的环境配置文件。接下来讲解到的,pro的参数只是最常见的几个要素,并不是全部。可看上图,pro文件的详细内容如下:QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = show_helloworldTEMPLATE = appSOURCES +=...原创 2019-03-04 10:33:46 · 324 阅读 · 0 评论 -
Qt的跨平台的部分原理和机制
最近开始学习Qt,看的是徐野等写的《Qt平台体系与应用——Qt5.5+核心方法、技巧与案例》。Qt是一个跨平台的应用程序框架。实现原理是一次编码,处处编译(即是在windows和linux写的代码都一样,跨平台。但是需要在Windows和linux上分别编译,才能在那种环境下运行。针对不同的安装设备,有不同的Qt版本)。(以下是这本书的,关于跨平台的原理的对比和介绍,感觉不错,摘写)java也...原创 2019-03-03 16:34:34 · 4892 阅读 · 1 评论