11 2021 档案
摘要:零、前言 MVC在Qt中叫做MVD,Model+View+Delegate。关于Model,Qt提供了以QAbstractItemModel为父类的相关类。如图: ①、QAbstractItemModel提供给数据一个接口,它非常灵活,基本满足views的需要,无论数据用什么样的形式表现,如tabl
阅读全文
摘要:1、概念 所谓观察,就是一个多个对象【观察者】观察一个对象【被观察者】,当被观察者有什么行为时会触发所有观察者,观察者根据自己的实际情况完成对应的操作【观察者通常有一个虚基类,实现其接口】。 2、例子:老公回家前发消息,妻子开始做饭,孩子停止玩游戏 #include <iostream> #incl
阅读全文
摘要:1、背景 采用quickwidget+qml方式,在qml里生成了Image,希望在c++里传入图片路径,qml显示 2、问题 传入相对路径,显示失败;传入普通的绝对路径也显示失败 3、解决 在c++里将相对路径转化为绝对路径,并且加上制定的前缀发给qml显示 C++: QString path =
阅读全文
摘要:代码: #include <QUuid> QUuid id = QUuid::createUuid(); QString strId = id.toString(); qDebug() << strId; //输出结果:"{b5eddbaf-984f-418e-88eb-cf0b8ff3e775}"
阅读全文
摘要:1、QQmlApplicationEngined搭配 Window示例: #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QGuiApplication ap
阅读全文
摘要:一、动态加载和实例化对象:createComponent 例子1: ①、创建本地的QML文件,注意文件第一个字母要大写 ZStation.qml import QtQuick 2.5 Rectangle{ property string mName: "station" signal entered
阅读全文
摘要:如下: QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); //等待旋转 QApplication::restoreOverrideCursor(); //恢复 ps:可以建立一个类,构造函数里设置鼠标旋转,析构函数里设置恢复,非常好用
阅读全文
摘要:1、VS2015 专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
阅读全文
摘要:摘抄自stackflow: https://stackoverflow.com/questions/67784384/c-grpc-clientasyncreaderwriter-how-to-check-if-data-is-available-for-read // Base class for
阅读全文
摘要:1、VS报错代码: A a; a.print; 已知print是个函数,这样就会报标题错 2、改为: A a; a.print();
阅读全文
摘要:1、双向流如何正确使用read和write https://stackoverflow.com/questions/54481404/how-can-i-read-and-write-from-a-grpc-stream-simultaneously 2、异步流处理 https://blog.csd
阅读全文
摘要:已知:如果是子类指针指向子类对象,那么构造和析构顺序是:父子子父 但是:如果再多态中,是父类指针指向子类对象,那么需要注意,一定要把父类的析构函数作为虚析构。 因为由于多态,delete对象的时候会调用对象的析构函数,但是如果析构函数不是虚函数的话,那么就会默认调用父类的析构函数【这跟普通虚函数一样
阅读全文
摘要:界面设计资源及经验分享 1、使用颜色拾取器工具 可百度下载“colors lite”工具,它是一个简单轻量的拾色工具,我们在借鉴其他优秀产品UI的时候,可使用此工具将合适的颜色记录并自行使用。 2、百度图片 百度图片是非常好用的功能,根据想要的图片类型进行搜索,搜索结果能提供的思路和灵感用于参考设计
阅读全文
摘要:windows版本: 1、准备编译好的GRPC包 编译方法:https://www.cnblogs.com/judes/p/15437731.html 2、在磁盘指定位置加上自己的三方包路径 新建文件夹:third_party,将GRPC包放进去;也可以放其他三方包如boost库等 3、添加系统变量
阅读全文
摘要:1、去除空格 string.erase(std::remove_if(string.begin(), string.end(), std::isspace), string.end()); 2、去除指定单词 std::string a = "class * A"; a = a.substr(a.fi
阅读全文
摘要:1、功能 打印变量的类型 2、使用 ①、 int a; cout<<typeid(a).name();//int class A{ }; A a; cout<<typeid(a);//class A A* b = new A(); cout<<typeid(b);//class A * 3、获取继承
阅读全文
摘要:模板类的声明和实现不能分开放,需要都放在头文件里
阅读全文
摘要:基本原理就是函数回调 1、增加自定义类,并继承QObjec,并加入Q_OBJECT宏。 2、在类中添加signals宏并添加信号;添加slots宏并添加槽函数。 3、执行qmake生成Makefile。 4、执行编译 moc【Qt的元对象编译器】先将类编译生成moc_xxx.cpp文件,为我们增加了
阅读全文
摘要:1、宏定义 #define EnumToStr(val) #val 2、使用 enum { Enum1 = 0, ENUM2 }; std::cout<<EnumToStr(Enum1);
阅读全文
摘要:https://zhuanlan.zhihu.com/p/58166572
阅读全文
摘要:1、现象 t还是空指针 2、解决 参考:https://blog.csdn.net/LYAJJ/article/details/110263038
阅读全文
摘要:https://www.cnblogs.com/lidabo/p/7783359.html
阅读全文
摘要:1、现象 VS+Qt工程,通过QUrl访问资源文件形式,让QQuickWidget加载QML,运行后QML是黑的,打印提示没有找到QML QUrl source(":/qml/Resource/qml/login.qml"); .... 2、问题分析 就是没有找到资源,原因未知;同样的方式能找到图片
阅读全文
摘要:问题1: 写好了proto文件并生成对应的c++文件后,c++文件会编译失败,报很多这些c++文件看不懂的问题 原因:proto文件里有中文注释,如 //创建者service.... 这句话会被带入到c++中,但是VS并没有按照utf-8去编译源码,导致中文被解析成其他字符串,个人认为成了这种: /
阅读全文
摘要:本代码是仿照boost::singleton_default 1、zsingleton.h #ifndef ZSINGLETON_H #define ZSINGLETON_H template<typename T> struct ZSingleton { private: struct objec
阅读全文
摘要:解决1: 在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819
阅读全文
摘要:Qt的文件注释在VS里可能会出现这个错误,主要是编码格式把注释吞掉了。 解决: 把 /*中文*/ 改为 /*中文 */
阅读全文
摘要:https://jingyan.baidu.com/article/3065b3b68518adbecef8a477.html
阅读全文
摘要:把 queue q; 改成 queue<int> q;
阅读全文