C++
Jeacean
这个作者很懒,什么都没留下…
展开
-
linux 麒麟 测试osg osgearth
osgpro文件#-------------------------------------------------## Project created by QtCreator 2020-02-17T15:09:20##-------------------------------------------------QT += core guiQT +=...原创 2020-02-20 17:18:16 · 1437 阅读 · 0 评论 -
centos7 升级cmake 详细操作
编译cmake文件时,报错:unknown cmake command “CONTINUE”猜测这是 cmake 版本过低导致的,那么就需要升级 cmake 到更高的版本。下面是升级 cmake 的步骤:卸载原有通过 yum 安装的 cmake:sudo yum remove cmake下载cmake安装包:wget https://github.com/Kitware/CMake/r...原创 2020-01-19 16:41:14 · 987 阅读 · 0 评论 -
Linux(centos 7,麒麟V7.0已测试)下编译osg3.4.0 osgearth2.8
安装第三方依赖库$sudo yum -y install zlib-devel$sudo yum -y install libpng-devel$sudo yum -y install libcurl-devel$sudo yum -y install freetype-devel$sudo yum -y install libjpeg-devel $sudo yum -y insta...原创 2020-01-19 16:36:20 · 3915 阅读 · 12 评论 -
QT简易视频播放器
videoplayer.cpp#ifndef VEDIOWINDOW_H#define VEDIOWINDOW_H#include <QMainWindow>#include <QVideoWidget>#include <QMediaPlayer>#include <QFileDialog>#include <QMediaPl...原创 2020-01-10 10:13:51 · 1893 阅读 · 0 评论 -
C++ 语言extern关键字用法和理解
https://blog.csdn.net/qq_27664167/article/details/82859852转载 2020-01-08 18:44:13 · 126 阅读 · 0 评论 -
QT次线程录屏
recordscreen.h#ifndef RECORD_SCREEN_H#define RECORD_SCREEN_H#include <QtGui>#include <QTime>#include <QWidget>#include "avilib.h"class RecordScreen:public QObject { Q_OBJECT...原创 2020-01-08 16:31:50 · 308 阅读 · 0 评论 -
win7 VS2015编译GDAL 正在创建库 gdal_i.lib 和对象 gdal_i.exp时候报错:LINK : error LNK2001: 无法解析的外部符号 _OSRValidate
win7 VS2015编译GDAL 正在创建库 gdal_i.lib 和对象 gdal_i.exp时候报错:LINK : error LNK2001: 无法解析的外部符号 _OSRValidate …编译器:VS2015操作系统:win7 X64GDAL版本:gdal_3.0.1错误信息如下正在创建库 gdal_i.lib 和对象 gdal_i.expLINK : error LNK2...原创 2019-12-24 11:21:24 · 2101 阅读 · 2 评论 -
超级详细的osgearth2.10+vs2015+osg3.6.4+OsgQt+gdal3.0.1+geos3.7.2+proj6.2+OSGOcean
编译前的准备:1.widow72.cmake-3.15.43.vs20154.osg3.6.45.osg-3rdparty(第三方依赖库)6.osgearth2.107.gdal3.0.18.proj6.2.09.sqlite3.3010.geos3.7.2原创 2019-12-23 17:12:18 · 6941 阅读 · 4 评论 -
VS 2015 release debug 编译可运行,目录下的exe崩溃
程序在vs2015下的debug和release模式下均可执行,但生成的exe文件运行会崩溃。原来问题出在调用文件的路径上,如果在程序中有涉及到打开文件等操作,把那个.exe程序复制到跟.cpp文件同一个目录下(更准确地说是工程路径下)就行。...原创 2019-12-10 12:00:35 · 742 阅读 · 0 评论 -
Microsoft Visual Studio 2015 Installer Projects 打包 安装 部署
打包工具组件:Microsoft Visual Studio 2015 Installer Projects安装链接问题汇总:安装完 打包组件,第一次生成就抛出一个无法解决的错误。 经查阅相关资料后,感觉可能是 mergemod.dll 文件版本太老了. 网上提示需要 2.0.2600.0 版本,文件存放在目录 C:\Program Files (x86)\Common Files\m...原创 2019-12-06 12:09:23 · 5174 阅读 · 1 评论 -
QT QDockWidget titleBar重绘
为了修改样式,便于后续皮肤的更换,重绘了QDockWidget 的titleBartotalTitleBar.h#ifndef TOTALTITLEBAR_H#define TOTALTITLEBAR_H#include <QSize>#include <QDockWidget>#include <QMouseEvent>#include <...原创 2019-12-05 15:48:21 · 1217 阅读 · 0 评论 -
QLabel自动换行
网上说的是这种1. 让QLabel自适应text的大小,直接用下面的代码:LabelName->adjustSize();2. 让QLabel能够自动判断并换行显示:LabelName->setGeometry(QRect(328, 240, 329, 27*4)); //四倍行距LabelName->setWordWrap(true);LabelName->...原创 2019-12-05 08:54:41 · 1146 阅读 · 0 评论 -
基于QMediaPlayer的简易视频播放器
公司项目有个背景音乐的功能,所以就做了个简版播放器使用QMediaPlayer,QMediaPlaylist,我这主要就是循环播放音量条和进度条还不知道做不做,先留着吧,等做再完善audioWindow.h#ifndef AUDIOWINDOW_H#define AUDIOWINDOW_H#include <QDialog>#include <QWidget>...原创 2019-11-28 18:24:36 · 547 阅读 · 0 评论 -
Qt H5 JS网页端通信和调用
公司用到了QT 嵌入HTML ,所以需要交互通信,折腾了一波参考:https://blog.csdn.net/weixin_42436161/article/details/85265796废话不说上代码调试方法就是new htmlWindow就行了htmlWindow.h#ifndef HTMLWINDOW_H#define HTMLWINDOW_H#include <Q...原创 2019-11-27 16:19:36 · 2407 阅读 · 2 评论 -
VS较高版本打开低版本程序是提示:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targe
VS较高版本打开低版本程序是提示:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targe这个问题是因为编译平台工具集选择错了,VS2015程序在打开的时候,默认是使用编译平台工具集,而初次打开低版本的程序是,默认的平台工具集是原版本的,,故提示此错误。可以在项目–>配置文件读...原创 2019-11-26 10:08:27 · 3115 阅读 · 0 评论 -
QT pushButton使用QColorDialog选择颜色后获取QColor颜色并在按钮中显示
相关组件的创建就不说了,效果如下信号槽QObject::connect(blastColor, SIGNAL(clicked()), this, SLOT(changeColor()));槽函数void Particlewindow::changeColor() { QColor color = QColorDialog::getColor(Qt::red, this, QString...原创 2019-11-26 09:52:50 · 1575 阅读 · 1 评论 -
QTreeWidgetItem 上下平移
思路就是获取到所在Group的所有child,放到QList中,重新换位置后再addChildrenvoid TabTreeWidget::downRow(){ QTreeWidgetItem *curritem = this->currentItem(); if (curritem != NULL) { QTreeWidgetItem *curritemparent = cu...原创 2019-11-11 17:30:29 · 3299 阅读 · 0 评论 -
QTreeWidget (checkbox树)增加、删除、拖拽、选择获取item text 和checkbox bool值
公司项目用到的,qt使用了QTreeWidget,里边涉及了增加、删除、拖拽和点击获取item text和checkbox bool值,上代码TabTreeWidget.h#ifndef TABTREEWIDGET_H#define TABTREEWIDGET_H#include<QTreeWidgetItem>#include<QTreeWidget>#i...原创 2019-11-09 17:17:03 · 2849 阅读 · 0 评论 -
QT 点击按钮呼出新窗口,加载文件数据至QTableWidget
读取文件内容并写入QTableWidget读取文件类#pragma once#include <QString>class TableData{public: TableData() { } TableData(QString time, QString longitude, QString latitude, QString altitude, QStrin...原创 2019-11-05 17:29:29 · 859 阅读 · 0 评论 -
QT设置tablewidget等宽
在QT5之前,只要通过下面的程序就可以实现自动等宽:/QT5版本之前设置自动等宽/ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);但是到了QT5这个是行不通了的,需通过下面的代码来设置:/设置tablewidget等宽/QHeaderView* headerView = ...原创 2019-11-05 16:54:46 · 903 阅读 · 0 评论 -
两篇C++ license 的方法,待研究
https://blog.csdn.net/stpeace/article/details/41598665https://blog.csdn.net/py8105/article/details/90229088转载 2019-10-17 14:38:11 · 3425 阅读 · 0 评论 -
win7 64位+qwt 6.1.2 64位+qt 5.8.0 msvc2015 x64安装方法 + msvc交叉编译:使用vcvarsall.bat设置命令行编译环境
win7 64位+qwt 6.1.2 64位+qt 5.8.0 msvc2015 x64安装方法话说想在qt5.6.0上用qwt画个图确实比较费劲,中间参考了很多资料才完成了显示的功能,记录在这里。准备工作:msvc2015 community版本,qt正常安装。过程:将下载好的qwt6.1.2(64位)解压,路径中不能包含有中文或者是空格(网上其他教程都是这么说的,我也就没有包含中文以及...转载 2019-06-19 17:19:43 · 900 阅读 · 0 评论 -
Qt之 自定义QMessageBox(提示框)
头文件的编写:#pragma once#include “qdialog.h”#include #include #include class MsgBox :public QDialog{Q_OBJECTpublic:MsgBox(int style,QString text);~MsgBox(void);public:QPushButton *okBtn;QPus...原创 2019-07-23 17:35:10 · 1676 阅读 · 0 评论 -
VC文件同名的处理办法
用VC开发项目的时候,如果有两个在不同目录的.cpp的文件名是一样的,那么在编译该项目的时候就会报如下警告:对象被多次指定,已忽略多余的指定。这意味着在编译的时候,工程默认把所有的.obj文件放在一个目录下,因为有重名,所以默认的处理方式就是保留一个,把其它的忽略了。这样由于有的文件没有生成obj文件,所以编译不完全,肯定是有问题的。对于这个问题显然的处理方法就是把同名的不同文件的.obj...转载 2019-07-12 11:24:23 · 404 阅读 · 0 评论 -
Qt之自定义界面(添加自定义标题栏)
效果这里写图片描述自定义标题栏实现头文件title_bar.h#ifndef TITLE_BAR#define TITLE_BAR#include <QWidget>class QLabel;class QPushButton;class TitleBar : public QWidget{ Q_OBJECTpublic: expli...转载 2019-07-12 09:56:39 · 1175 阅读 · 0 评论 -
qt两个类之间自定义信号槽
有时候我们可能遇到一个问题,我们想在A类里面定义一个事件,当这个事件被触发之后,它可以发射一个信号出来,让B,C,D类等其他类去执行一个功能,这些执行功能的类可能是一个QWidget类,或者是一个普通的类,我们可能遇到的问题是怎么让一个信号和槽跨越几个类?最难的是,如果这些类之间有相互include的关系,比如A中的按钮单击之后,打开了B窗口,因此A类必须include B的头文件。而如果要利用...转载 2019-07-05 11:06:23 · 1344 阅读 · 0 评论 -
使用qss QT QTreeView 改变左边的箭头
QT QTreeView 改变左边的箭头使用qssQTreeView::branch:closed:has-children{border-image:url();}QTreeView::branch:open:has-children{border-image:url();}原创 2019-07-24 16:24:54 · 1760 阅读 · 0 评论 -
vs15每次生成都从新编译
vs15每次生成都从新编译我的问题很牛,不是别的问题是因为系统时间。。。。。。表示文件和时间对不上,每次都觉得需要编译哈哈哈哈,调整系统时间就行了...原创 2019-07-22 18:51:42 · 242 阅读 · 0 评论 -
qt窗体设置圆角后出现黑色的直角
我这个是一个窗体,设置了framelesswindowhint,也就是去掉了titlebar,然后使用Layout布局和自己写了一个titlebar,但是设置边框圆角后出现了黑色的直角在圆角背后,解决办法:this->setAttribute(QT::WA_TranslucentBackground, true);...原创 2019-07-23 11:28:51 · 2317 阅读 · 0 评论 -
osgearth访问几种数据的几种方式
osgearth访问数据分类方式可以分为使用earth文件加载和通过程序加载。1.earth文件方式比较简单方便只要掌握一定的格式就能访问各种数据,下面就给出一个例子:访问网上的ArcGIS Server 数据的例子<map name="ArcGIS Online" type="geocentric" version="2"> <image name="...转载 2019-08-12 09:55:38 · 1191 阅读 · 3 评论 -
ogearth 示例
//初始化影像、地形void initImageAndElevation(osgEarth::Map* map){ //影像 osgEarth::Drivers::TMSOptions imgOption; imgOption.url()="D:/CacheData/OUTDATA/JiLinImage/tms.xml"; //imgOption.url()="http://ready...转载 2019-08-12 11:29:55 · 518 阅读 · 0 评论 -
osgEarth学习笔记
这是个人在学习osgEarth时根据体会或从别的地方看到的做的一个简单整理,有些东东就是官方文档翻译过来的,都是根据自己的需要感觉需要记录下来什么东西就随便记录下来了,也没有个条理,都是用到哪记到哪,别见怪。对个人在初期使用osgEarth时有很多帮助,所以特发上来,希望对大家也有帮助osgEarth学习笔记1. 通过earth文件创建图层...转载 2019-08-12 15:38:25 · 1708 阅读 · 0 评论 -
Qt控件样式之QSS
QSS常用于Qt的控件样式美化,合理地使用Qss可以完成在不改动代码的情况下改变Qt界面的样式。官方提供的例子: http://qt-project.org/doc/qt-4.8/stylesheet-examples.html这个是官方提供的例子,只有qt-4.8的,目前Qt最新版本是Qt5.4,但似乎在qss这块没有较大的更新,同时有关帮助手册可以在Qt Assistant中寻找。在这个...转载 2019-07-10 10:02:13 · 660 阅读 · 0 评论 -
qt 自定义按钮显示隐藏dockwidget
QT 在MainWindow中,项目创建了几个dockwidget窗口,实现一个功能,点击按钮,对部分部件进行隐藏显示,解决办法就是建立全局变量,true false,然后通过变量来控制点击show()和hide()...原创 2019-07-13 14:35:00 · 4213 阅读 · 1 评论 -
C/C++ 获取文件夹下指定扩展名的文件列表
#include <iostream>#include <vector>#include <string>#include <dirent.h>using namespace std;void SplitString(const std::string& s, std::vector<std::string>&...转载 2019-06-25 13:38:58 · 1409 阅读 · 0 评论 -
error C2144: 语法错误 : “void”的前面应有“;”
Visual Studio 2015 编译使用OSG的代码时,出现错误,信息如下:error C2144: 语法错误 : “void”的前面应有“;”解决方法:在stdafx.cpp文件开头加入#include <windows.h> //加上这一句,注意头文件的顺序#include <stdafx.h>一开始以为是编码问题,结果加上这个后成功通过...转载 2019-06-21 14:58:25 · 4331 阅读 · 1 评论 -
C++二进制文件的读取和写入
我们先来说一下为什么要使用二进制文件,它比文本文件有哪些好处。用文本方式存储信息不但浪费空间,而且不便于检索。例如,一个学籍管理程序需要记录所有学生的学号、姓名、年龄信息,并且能够按照姓名查找学生的信息。程序中可以用一个类来表示学生:class CStudent{ char szName[20]; //假设学生姓名不超过19个字符,以 '\0' 结尾 char szId[l...转载 2019-06-21 14:56:56 · 12049 阅读 · 0 评论 -
3ds增加字节改为自己的文件格式
项目里边要搞一个自己的文件格式,在3DS的基础上,所以就想了这么一个办法,在3DS文件尾增加字节的新内容,在使用文件格式的时候去掉多余的内容就又转化成3DS格式了,实际没什么区别。。。。掩耳盗铃的感觉-,-#include <iostream>#include <fstream>#include <stdio.h>#include <malloc....原创 2019-06-25 09:21:16 · 228 阅读 · 0 评论 -
OSG简单读取文件
就是hello world编译好osg以后,设置好include和lib,以及输入文件#include<osgViewer/Viewer>#include<osg/Node>#include<osg/Geode>#include<osg/Group>#include<osgDB/ReadFile>#include<os...原创 2019-06-25 09:10:01 · 1770 阅读 · 1 评论 -
C++ 获取指定文件夹下指定后缀名文件
#include <dirent.h>#include <iostream>#include <regex>#include <string>std::vector<std::string> faceDescriptorManager::get_all_files(std::string path, std::string suf...转载 2019-06-25 09:00:20 · 3511 阅读 · 0 评论