
c++
蜗牛在听雨
这个作者很懒,什么都没留下…
展开
-
Qt 计算代码 运行时间
方法一精度为us级#include<qelapsedtimer.h> QElapsedTimer mstimer; mstimer.start(); // ****此处添加需要计算运行时间的代码 float time = (double)mstimer.nsecsElapsed()/(double)1000000; qDebug() << time<<"ms";// 最终统计出来是ms方法二利用QTime,其精度为ms级#include转载 2021-07-16 16:07:15 · 3097 阅读 · 0 评论 -
Qt 创建停靠悬浮窗口 QDockWidget
1.Qt实现窗口停靠和悬浮使用类QDockWidget,它有两个重要方法用来设置停靠特性以及停靠区域1 dw1->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);//设置停靠窗口特性,可移动,可关闭2 dw1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);//设置可停靠区域为主窗口左边和右边2.转载 2021-04-25 15:42:26 · 4496 阅读 · 1 评论 -
QT+VS 中使用qDebug()打印调试信息无法显示
1.首先右键点击项目名称,找到最后一项"属性"2. 然后设置为如图所示3. 会弹出CMD窗口,出现qDebug的调试信息原创 2021-04-17 17:22:28 · 3502 阅读 · 0 评论 -
OpenCascade 入门须知API
Tutorial简述gp_XXXStandard_XXXGeom_XXXGC_MakeXXXTopoDS_XXXBRepBuilderAPI_XXXBRepPrimAPI_XXXBRepFilletAPI_XXXTopExp_ExplorerTopAbs_ShapeEnumBRepAlgoAPI_XXXBRep_Tool与 Standard_TransientTopTools_XXXBRepOffsetAPI_XXXTutorial简述Tutorial用一个绘制Bottle转载 2021-04-13 10:51:13 · 1219 阅读 · 0 评论 -
VS2019 报错: 编译器的堆空间不足
找到项目的.vcxproj文件,打开在文件中找到这个节点 <PropertyGroup Label=“Globals”>在该节点的最后加上一句 <PreferredToolArchitecture>x64</PreferredToolArchitecture>重新编译即可原创 2021-03-24 11:15:17 · 6566 阅读 · 5 评论 -
Qt: TreeWidget 鼠标右键信号触发没反应customContextMenuRequested
加上下面对treewidget的设置TreeWidget->setContextMenuPolicy(Qt::CustomContextMenu);转载 2021-03-03 19:52:52 · 1213 阅读 · 2 评论 -
Qt :QWidget 实现QDialog exec() 模态显示效果
一、实现过程声明定义exec函数,用于后续调用这个widget的模态显示;使用 QEventLoop 实现事件循环;重写 closeEvent ,退出事件循环;二、头文件#include<qeventloop.h>#include<qevent.h>private: QEventLoop* m_Loop; public: void exec(); protected: void closeEvent(QCloseEvent* event);三、源原创 2021-02-27 19:44:55 · 3340 阅读 · 1 评论 -
Qt 文件选择对话框 获取当前工作目录及上一层目录
打开文件选择对话框时,需要设置默认的打开路径: QFileDialog* fd = new QFileDialog(this); fd->setWindowTitle(tr("选择工件模型...")); if (part_path.isEmpty()) { //当前程序运行目录 QDir cur_path(QCoreApplication::applicationDirPath()); //当前目录的上一层 cur_原创 2021-02-25 09:46:00 · 3915 阅读 · 0 评论 -
解决 QRibbon 在VS+Qt 环境下的编码报错问题 “文本后缀无效; 未找到文文本运算符或文本运算符模板“
一、问题在使用QRibbon时编译报错 “文本后缀无效; 未找到文文本运算符或文本运算符模板”,是因为编码问题,需要将程序文件进行编码设置二、解决方案1.Visual Studio 2019修改编码UTF-8VS 2019隐藏了高级保存功能,导致没办法直接去设置代码编码 UTF-8。那么我们直接把高级保存功能调用出来即可:单击“工具”|“自定义”命令,弹出“自定义”对话框。单击“命令”标签,进入“命令”选项卡。在“菜单栏”下拉列表中,选择“文件”选项。单击“添加命令”按钮,弹出“添加命令”原创 2021-02-24 14:00:11 · 3308 阅读 · 0 评论 -
error C1128:字节数超过对象文件格式main.cpp限制:请使用/bigobj进行编译
解决:打开属性页->C/C++ ->命令行->键入/bigobj 编译器原创 2020-12-07 14:29:28 · 468 阅读 · 0 评论 -
使用番茄助手 快速注释
一、设置1.点击菜单栏的小番茄图标 Visual Assist Options2.点击Suggestions-Edit_VA Snippets3.点击左上角的新建图标4.在右侧按照自己的想法设置,其中红色部分是宏功能,通过键入“$”符号就可以出现进行选择,这边加入的是日期宏,就会自动更新日期。/************************************************** *function: *input: *output: *adding: *aut原创 2020-11-30 10:31:58 · 2418 阅读 · 0 评论 -
VS 2019 + QT 5.13.0 msvc2017_64 配置过程
QT下载链接:清华镜像 :qt/official_releases/qt/5.13/5.13.0/安装时只勾选 MSVC 2017 64-bit 和Tools 中的第一个选项 Qt creatorVS2019 就装社区版参考链接:Qt5.11.1安装与VS2017配置插件版本: qt-vsaddin-msvc2019-2.4.3.vsix...原创 2020-11-27 23:54:43 · 2988 阅读 · 0 评论 -
产生随机数
QTime time; //用于产生随机数 time = QTime::currentTime(); qsrand(time.msec() + time.second() * 1000); int n= qrand() % (10); //10以内的随机数原创 2020-11-26 21:59:02 · 153 阅读 · 1 评论 -
QVector 结构体排序
一、定义结构体struct MyStruct{ int index; //索引 float area; //面积};二、排序函数函数声明要采用 staticstatic bool sort_by_area(const MyStruct &house1, const MyStruct &house2);根据结构体中的面积进行升序排列, 如果要降序就将小于号<改为大于号>,函数实现:bool sort_by_area(const MySt原创 2020-11-17 16:07:11 · 1975 阅读 · 0 评论 -
VS2019 + Qt 下 libtorch配置报错:C2059 C2334
一、程序配置好libtorch环境后,采用如下的程序进行测试:#include <torch/torch.h>#include <iostream>int main() { torch::Tensor tensor = torch::eye(3); std::cout << tensor << std::endl;}二、报错点击两个错误的地方,ivalue_inl.h头文件内容如下:object.h 头文件内容如下:三、解决原创 2020-10-23 21:05:01 · 1663 阅读 · 7 评论 -
VS2019 cout输出到控制台窗口
一、设置“项目 -> 属性 -> 生成事件 ->后期生成事件 -> 命令行” 中添加:editbin /SUBSYSTEM:CONSOLE $(OutDir)\$(ProjectName).exe如下图:二、运行一个控制台窗口输出调试信息,一个正常运行的软件界面。...原创 2020-10-23 20:35:55 · 12287 阅读 · 4 评论 -
VS2019 Qt debug:Struct报错 无法引用“****”的默认构造函数,它是已删除的函数
一、问题描述定义了如下的结构体struct Data_curve{ int curve_index; //TopoDS_Edge索引号 //几何曲线的类型(枚举变量) OCC_Geom_curve curve_type; //各种曲线(类的实例) Geom_BezierCurve bezier_curve; Geom_BSplineCurve bspline_curve; Geom_TrimmedCurve trimmed_curve; Geom_Circle c原创 2020-08-17 16:19:50 · 3235 阅读 · 0 评论 -
VS2019 Qt debug:QVector 不允许使用不完整的类型
一、问题描述QVector<TopoDS_Edge> topo_edge_curves;QVector<data_curve> geo_curves; 1.在用QVector定义指定类型(包括类和结构体)时,总是报错“不允许使用不完整的类型”。2.不光是QVector<TopoDS_Edge> 报错,所有用QVector定义的容器变量都报错“不允许使用不完整的类型”3.无法识别TopoDS_Edge数据类型, 总是将TopoDS_Edge类,识别成它的构造函原创 2020-08-17 09:57:08 · 2833 阅读 · 0 评论 -
vs2019 + vcpkg (C++第三方包配置工具)
一、vcpkg安装VS想要使用一些第三方的库需要自己下载代码,编译,配置,解决代码依赖,整个过程非常麻烦。为了解决这个问题,尝试使用vcpkg来安装和管理这些第三方库。vcpkg是命令行包管理工具,在使用第三方库的c或c++开发中可以简化相关的配置操作。使用vcpkg对于c或c++开发,令人烦恼的第三方包管理工作大大的减轻 。安装vcpkg很简单,直接从 github仓库: vcpkg地址 下载一下代码,然后编译就行了。Linux平台下,运行bootstrap-vcpkg.sh文件;Window原创 2020-07-26 19:57:16 · 7015 阅读 · 0 评论 -
vs 添加函数注释说明
1.进入文件夹C:\Users\simon\Documents\Visual Studio 2019\Code Snippets\Visual C++\My Code Snippets2、在该文件夹中创建xxx.snippet文件,编辑内容如下: 注:fuc是快捷方式<?xml version="1.0" encoding="utf-8"?><CodeSnippets > <CodeSnippet Format="1.0.0">转载 2020-06-14 10:36:12 · 5843 阅读 · 0 评论 -
C++的重写和隐藏
C++的重写和隐藏C++的重写是指派生类重新定义基类的虚函数;隐藏通常是指的子类隐藏父类的方法,面试中遇到了类似两者结合的问题,特此整理下缕缕思路。背景父类如下:class Tfather{public: Tfather(void); virtual ~Tfather(void); virtual void virFunc(int a,float...转载 2018-08-14 21:51:46 · 729 阅读 · 0 评论 -
sizeof 计算类的实例化大小
第一:空类的大小class CBase{};运行cout<<”sizeof(CBase)=”<<sizeof(CBase)<<endl;sizeof(CBase)=1;为什么空的什么都没有是1呢?先了解一个概念:类的实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样空类也会被实例化(别拿豆包不当干粮,空类也是类啊),所以编译器会给空类隐含的添加一个字节,这样转载 2017-07-09 14:53:28 · 248 阅读 · 0 评论 -
如何防止一个类被继承
原 c++如何防止一个类被其他类继承 ...转载 2018-09-13 22:33:38 · 1001 阅读 · 0 评论 -
visual studo 2019 编译输出目录设置
在上传项目到GitHub时,因为把编译文件夹放在项目文件夹下,所以整个项目文件体积太大。上传时很慢,就想着把编译文件的输出目录修改到项目文件夹的同级目录,这样上传项目源码会快很多在项目的属性设置页中,【配置属性】→【常规】→【输出目录】→【编辑】中进行设置。如下图所示,用宏来生成目录路径。(SolutionDir)表示解决方案的当前目录,…表示上一层目录,(SolutionName)表示项...原创 2019-07-15 10:16:00 · 5548 阅读 · 0 评论 -
VS2019 nuget配置OpenGL
生成解决方案时又报错2019LINK,看了下报错内容应该是OpenGL的库没有配置好,所以就配置一下。以前配置库都是头文件,库文件一堆东西要设置。微软已经推出了很好的解决方案nuget打开后在浏览中搜索nupengl,会找到下面两个包分别选中两个包,在右侧点击“安装”。两个安装成功后就会看到项目文件夹下的packages中多出了两个文件夹,就是我们导入的包,下面只要在程序中添加相应的头文...原创 2019-07-23 15:47:22 · 3075 阅读 · 3 评论 -
C++输出调试信息到VS中的输出窗口
选择你的项目,右键property(属性)->Configuration Properties(配置属性)->Build Events(生成事件)->Post-Build Event(预先生成事件),在右方窗口的Command Line(命令行)栏中输入你编译好的exe文件所在路径。输入“$ (OutDir)$(ProjectName).exe”...原创 2019-09-17 11:58:06 · 2498 阅读 · 0 评论