QT STUDY】的更多相关文章

所谓泛型(generic) 能够像操作基本类型一样轻松操作对象的类和函数. qt容器类就是泛型类,基于模板的泛型类. 重载运算符overloaed operator, 托管容器 managed conaainer, 隐式式共享 implicit sharing int ,char, float, double 指针类和结构,数组 函数指针,仿函数 享元模式,隐士共享类.所谓的垃圾收集,实际上是一个对不再引用的堆内存进行恢复的线程.垃圾收集会在CPU相对空闲或者内存不足的 时候开始运行.当一个对象…
所谓反射,就是指对象成员的自我检查,使用反射编程(reflective programming),就可以编写出通用的操作,可以对具有不同结构的类进行操作. QMetaObject 元对象模式,描述一个对象结构的对象. DestType* qobject_cast <DestType*>(QOjbect*qoptr); 向下转换类似于dynamic_cast ObjectType类是QObject ,类中有Q_OBJECT宏 qobject_cast允许把一个更为常规的指针和引用向下转换运行调用…
[1]Qt的QObject 1.测试代码如下: #include<QApplication> #include<QPushButton> #include<QDebug> using namespace std; int main(int argc, char *argv[]) { QApplication app(argc, argv); int nSize = sizeof(QObject); qDebug() << nSize << end…
工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建proDemo工程.步骤如下:Qt Creator--->New Project--->应用程序--->Qt Widgets Application--->名称为:proDemo(创建路径自己拟定,本地为F:\Source\proStudy)--->类信息保持不变--->完成 1.2 提取pro文件.在…
为了将Qt Assistant定制为自己应用程序的帮助文档浏览器.需要完成以下几步: 一.导入HTML格式的帮助文档 (1)首先,针对自己的应用程序创建HTML格式的帮助文档,请参见<Doxygen生成HTML文件>.(下面示例假设HTML文件已经存在) (2)新建Gui应用.QtCreator-->new Project-->Qt Widgets Application 新建项目名称定义为“MyHelpThis”,类名定义为“MainWindow”,基类保持QMainWindow…
[1]新建Qt工程 1.1 具体新建步骤不赘述. 1.2 新建工程后文件目录如下: 1.3 留意对比一下你的代码目录,可以发现我的文件目录中多了一个rc类型的资源文件.那么,它也就是关键点. 1.4 首先需要添加这个资源文件. 方法很简单:新建一个txt文件.当然,名称按具体项目自拟,再把后缀直接改为rc类型即可. 文件中的内容呢?请看下文(注意:文件内的换行等等符号不可以错乱): IDI_ICON1 ICON "version.ico" #if defined(UNDER_CE) #…
转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来. 软件环境 Linux:Ubuntu 12.04 X86 QT:4.8.4 关于QT安装 QT的早期版本和现在版本有点变化,提供的文件也不尽相同,最新的版本为5.0,我这里…
转自:http://blog.csdn.net/lbsljn/archive/2009/12/29/5099590.aspx MinGw + CodeBlock + QT4.5 类定义后面要加";" 函数的实现部分,如果定义部分有void,则实现部分不能少; 检查include文件有无少; error: request for member `show' in `((MainWindow*)this)->MainWindow::rightform', which is of no…
1.模态和非模态的区别:非模态可以同时操作两个窗口,模态的只能在顶层窗口关闭之后才能使用其他窗口 //同时显示出widget和dialog窗口,非模态     QDialog *dialog = new QDialog(this);     dialog->show(); //同时显示出widget和dialog窗口,模态     QDialog *dialog = new QDialog(this);     dialog->setModal(true);     dialog->sh…
[1]问题现象描述 利用QT的https方式访问服务器,添加了libeay32.dll 和 ssleay32.dll, 且一直都使用正常. 正常现象:返回200,且该获取的值都正常返回(即replyByte不为空). 突然,有一天(不是很久很久以前.....),把打包的版本安装到销售的机器(系统比较纯净)上,发现登录失败了...... 1.1 源程序代码 1.2 打印的失败(创建SSL上下文错误)日志如下: 经过各种排查,最后确定是缺少了动态库. [2]问题原因 经排查,缺少msvcr120.d…
[1]VS + QT开发环境,中文内容编译时提示错误error C2001:常量中有换行符 解决方案:VC的编译器,把代码格式改为带BOM的UTF8就好了 建议步骤: (1)用Notepad++打开cpp文件 (2)打开菜单栏中[编码]项 (3)设置选择[转为UTF-8-BOM编码] (4)保存. 重新编译文件,成功. Good Good Study, Day Day Up.顺序 选择 循环 总结…
工作项目中,利用到Qt对话框,场景需求: 1. 一部分窗体需要继承自QWidget 2. 一部分窗体需要继承自QDialog 3. 两者均需要去掉标题栏图标,同时能够自由拖动. 如果两者分开继承实现,会造成设置windowFlags.拖动功能部分代码重复冗余,为了达到代码复用的目的,利用模板类进行了封装. 本地使用效果正常,特此备录. [1]头文件 #ifndef _UPC_DIALOG_BASE_H #define _UPC_DIALOG_BASE_H #include <QDialog>…
[1]QT 通过QNetworkReply *获取对应请求的URL地址 reply->url().toString(); Good Good Study, Day Day Up. 顺序 选择 循环 总结…
Qt应用程序默认没有加QtNetwork库.如下图: 在开发过程中,因处理业务需要手动添加QtNetwork库.根据常见情况分为以下两种: [1]若使用QTCreator开发程序 在工程的pro文件中添加:QT += network [2]若使用VS + QT开发程序 本地环境VS2017 + QT5.9.2 编译错误提示如下: error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __cdecl QNetworkRequest::QNe…
[1]源码 工作中,时常会遇到各种各样的异常场景,有些异常场景很常见,必要备录,以防再犯. 分享本案例为:QT创建窗体时parent父窗体传野指针引起异常. 本案例源码如下: 1.1 默认新建一个QT工程(ps:本地QT版本为5.3) (1)工程目录结构 (2)工程pro文件 QT += core gui greaterThan(QT_MAJOR_VERSION, ): QT += widgets TARGET = CustomComboBox TEMPLATE = app SOURCES +=…
[1]close 与 Qt::WA_DeleteOnClose简介 1.1 Qt源码 /*! Closes this widget. Returns \c true if the widget was closed; otherwise returns \c false. First it sends the widget a QCloseEvent. The widget is \l{hide()}{hidden} if it \l{QCloseEvent::accept()}{accepts…
如果你想了解关于Qt与VS2013开发环境搭建,可以至此翻页. 这里主要分享环境已搭建成功,在构建项目时遇到的报错解决方案. [1]Qt 与 VS2013开发环境构建时报错 报错界面如下: 注意:对话框左上角的Qt Visual Studio Add-in. [2]解决方案 为了更充分的解决问题,分为以下四步进行: 步骤一:检查环境变量 首先,保证Qt安装的路径已添加进环境变量. 步骤二:检查Qt Versions 点击VS2013工具栏中的Qt5子菜单,显示如下界面: 点击Qt Options…
[1]代理应用示例源码 用代码说事,比较靠谱. 代码目录:三个自定义类,重实现QStyledItemDelegate类.main函数应用示例. (1)ComboDelegate.h #ifndef COMBODELEGATE_H #define COMBODELEGATE_H #include <QStyledItemDelegate> class ComboDelegate : public QStyledItemDelegate { public: ComboDelegate(QObjec…
[1]事件 事件是可以被控件识别的操作.如按下确定按钮.选择某个单选按钮或复选框. 每种控件有自己可识别的事件,如窗体的加载.单击.双击等事件,编辑框(文本框)的文本改变事件等等. 事件就是用户对窗口上各种组件的操作. [2]Qt事件 由窗口系统或Qt自身产生的,用以响应所发生各类事情的操作.具体点,Qt事件是一个QEvent对象,用于描述程序内部或外部发生的动作. [3]Qt事件产生类型 1.键盘或鼠标事件:用户按下或松开键盘或鼠标上的按键时,就可以产生一个键盘或者鼠标事件. 2.绘制事件:某…
[1]为什么需要自定义数据类型? 内置类型毕竟很有局限性,否则为什么还需要类呢.总之,有时候,我们多么希望信号能发送自定义数据类型. 幸哉~ Qt是支持自定义信号,且自定义信号可以发送自定义数据类型的对象. [2]使用方法(声明 和 注册自定义数据类型) 1)引入头文件:#include<QMetaType> 2)添加声明:利用宏 Q_DECLARE_METATYPE 3)注册:利用方法 qRegisterMetaType [3]实例Demo 1.文件目录(为了更好的模拟现实项目的需求,示例程…
本文主要介绍Qt中线程类QThread的用法,参考(翻译+修改)了一篇文章:PyQt: Threading Basics Tutorial,虽然使用的是PyQt,但与C++中Qt的用法大同小异,不必太在意语言的差异. 在这篇文章中,我将写一个获取热点新闻的程序(使用新闻网站reddit.com的api),每隔2秒发送一个关键字,从服务器获得与该关键字相关的一条热点新闻. 我们的目标是实现以下几个功能: 用户在输入框中输入n个关键字,以英文的逗号,隔开 用一个搜索结果列表来呈现所获得的新闻标题 使…
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 发表于2014-08-08 10:05 摘要:Digia公司在其官方发布声明,宣布将成立一家独资子公司专注Qt的开发.同时,将统一开源版本和商业版本,以…
之所以写出来,是由于经常因为这个问题屡屡丢面子.. 一般情况下,QString转换成(char*),我们一般直接使用: char *str = qstr->text().toLatin1().data(); 当然这也本身就一点问题也没有,假如得到的str为"123",那么str就点4个字符的空间,最后一个字符是'\0'; 可就是这么一个'\0',在设定gsoap的server的时候,它并不需要,被坑了好几回了,.. 出错的信息大概都是这样子的: Starting /media/S…
[the original link] One of Qt’s most reputed merits is its consistent, easy-to-learn, powerfulAPI. This document tries to summarize the know-how we’ve accumulated on designing Qt-style APIs. Many of the guidelines are universal; others are more conve…
转:http://phrack.org/papers/attacking_javascript_engines.html Title : Attacking JavaScript Engines: A case study of JavaScriptCore and CVE-2016-4622 Author : saelo Date : October 27, 2016 |=-------------------------------------------------------------…
[1]QT 安装中文路径启动异常问题 最近在搞一个很简单的QT应用程序,开发环境VS2017 + QT5.9,线上异常报错:安装中文路径下启动崩溃~~~~ 最后,本地调试Debug版本,发现安装中文路径下,安装路径为乱码,导致加载翻译文件.创建日志文件.加载动态库等等均失败. 对我而言,新发现新问题,先问度娘.尝试了很多解决方案,最终都以失败告终. 于无望处,突然柳暗花明,在一个帖子上看到这么一句话: Qt中用于控制读出和写入文件系统时的字符编码由 QTextCodec::setCodecFor…
QT之二级菜单 QT之二级菜单 开场白 效果图 上代码 可参考文章 下代码 结尾 开场白 今天我们一起来了解下,在我们QT中,二级菜单是如何实现的,在上篇我们学习了QT之系统托盘,QT之自定义菜单, QT之样式styleSheet.今天我们在这基础上,增加二级菜单的功能. 效果图 大家注意下这里箭头,不是用的默认效果哦,还是自定义的好看哈!O(∩_∩)下面这张图示是默认的.  上代码 void SysTray::addSysTrayMenu() { CustomMenu* customMenu…
单独封装QtCore 一直以来使用QT的特性使用惯了,很多东西QT都封装得很好.如果突然有一天,不使用QT开发了,是不是不习惯. 比如我们经常使用QString很多方法,string,wstring之间的转换,arg格式化. 又比如Qt提供的Json相关使用. 如果我们把QT这些方法抽取出来,单独封装.能在其它非QT项目中,能够正常使用会不会很好呢. 其实QString,QJson,QfileInfo等,都封装在QtCore中.  这里,我截了部分图,相关还有很多可到文档中查看. 抽取QtCor…