【VS2019 Qt5 VTK9.2】界面编程问题解决记录

news2024/11/26 23:24:07

一、Qt和VTK相关问题及解决

1. Widget和Viewer的设置顺序

 imageViewer->SetupInteractor(renderWindow->GetInteractor());
 ui.qvtkWidget->setRenderWindow(imageViewer->GetRenderWindow());

二者顺序决定了能否正确显示。
参考:QVTKWidget和vtkImageViewer2结合编程设置顺序问题

2. 控件提升

因为版本问题无法找到QVTKWidget时,可以考虑控件提升:
将一个widget 提升为QVTKOpenGLNativeWidget
参考:QT5.14.2配置QVTKOpenGLNativeWidget控件并在QT中显示VTK窗口

(但还是建议根据对应版本直接使用QVTKOpenGLNativeWidget及其新功能。)

3. QVTKWidget、QVTKOpenGLNativeWidget版本区别

版本参考
参考:PCL1.12.1+VTK9.1+Qt5.14.2VS创建Qt项目在widget上显示点云

4. 定义vtkGenericOpenGLRenderWindow

报错:QVTKOpenGLNativeWidget requires a vtkGenericOpenGLRenderWindow.
vtkWin32OpenGLRenderWindow is not supported.

在这里插入图片描述
文档说到QOpenGLWidget subclass to house a vtkGenericOpenGLRenderWindow in a Qt application,即QVTKOpenGLNativeWidget 是QOpenGLWidget 的子类,需要在Qt中容纳一个vtkGenericOpenGLRenderWindow 渲染窗口。
(建议直接在窗口定义就定义为vtkGenericOpenGLRenderWindow渲染窗口。)

二、VS报错

5. LNK2005 "public: static class …"已经在 …obj 中定义

错误	LNK2005	"public: static class myVtkInteractorStyleImage * __cdecl myVtkInteractorStyleImage::New(void)" (?New@myVtkInteractorStyleImage@@SAPEAV1@XZ) 已经在 mainwindow.obj 中定义	

参考:静态成员变量初始化问题。关于 error LNK2005 static int:已经在***.obj中定义。

主要原因有以下三种:

1.重复定义全局变量;

2.头文件的包含重复;

3.使用第三方的库造成的。

6. LNK2019 无法解析的外部符号

参考:vs报错“错误 LNK2019 无法解析的外部符号”的几种原因及解决方案

(常见的可能原因:所使用的外部库未正确添加到项目中来。)
直接解决:更新CMakeLists 或者 “打开项目->属性->配置属性”添加库目录或文件

7. 报错:QObject::connect: No such slot或者QObject::connect: No such signal

参考:QObject::connect: No such slot或者QObject::connect: No such signal
两个原因导致:

1.传递参数的时候不能带变量名,只能含有变量类型

connect(objectA,SIGNAL(signal_1(int)),objectB,SLOT(slot_test(int)));

在这里插入图片描述

2.类中必须包含Q_OBJECT

在这里插入图片描述
另:
QT的默认槽函数 connectSlotsByName

只要槽函数名规则是这样的:on_子对象名_信号名,如:

public slots:
   void on_actionNew_triggered();

就可以不用写connect函数来连接信号和槽了,需注意不要重复命名或多次重复连接

参考:QT 默认槽函数 connectSlotsByName浅析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023553.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RocketMQ 源码分析——分布式事务方案

文章目录 消息队列解决事务存在的问题RocketMQ的分布式事务方案RocketMQ的分布式事务案例代码分布式事务源码分析消息发送源码分析确认/回滚源码分析回查源码分析 总结 消息队列解决事务存在的问题 如果使用消息队列解决事务在哪个阶段向MQ发送消息? 先扣款后再向R…

计算机算法分析与设计(3)---循环赛日程表(含代C++码)

循环赛日程表 一、内容概述二、代码实现2.1 分治代码2.2 结果图 一、内容概述 二、代码实现 2.1 分治代码 // 循环赛日程表 #include<iostream> #include<cmath> using namespace std;void schedule(int k, int n, int** array) // 数组下标从1开始 {for (int …

【操作系统】聊聊文件系统是如何工作的

文件系统其实是操作系统中存储的核心、计算、网络。除了使用寄存器、内存可以临时存储数据&#xff0c;使用磁盘持久化存储更重要。 磁盘为系统提供了数据持久化功能。文件系统在磁盘的基础上&#xff0c;抽象出了一个管理文件的树状结构 索引节点和目录项 Linux中一切皆是文…

HTTP请求、响应详解

目录 一、HTTP请求详解 1.1 认识请求“报头”&#xff08;header&#xff09; 1.2 认识请求“正文”&#xff08;body&#xff09; 1.2.1 application/x-www-form-urlencoded 1.2.2 multipart/form-data 1.2.3 application/json 二、HTTP响应详解 2.1 认识状态码 2.2 认识响…

Centos7配置国内yum源

目录 备份原系统中的repo文件配置国内开源镜像重新生成yum缓存 备份原系统中的repo文件 cd /etc/yum.repos.d/mkdir repo_bakmv *.repo repo_bak/配置国内开源镜像 到网易和阿里开源镜像站点下载系统对应版本的repo文件 curl -O http://mirrors.aliyun.com/repo/Centos-7.re…

com.google.gson.internal.LinkedTreeMap cannot be cast to XXX

起因是在对google商品做本地缓存时&#xff0c;上线后发现的bug 刚开始非常自信&#xff0c;debug没问题线上有问题&#xff0c;大概率就是混淆文件没有添加keep&#xff0c;于是本地添加对SDK中类的keep&#xff0c;本地打包release验证&#xff0c;不出意外还是崩溃 仔细看…

GEE:Bfast时间序列扰动检测

本文记录了 Google Earth Engine &#xff08;GEE&#xff09; 上 Bfast 时间序列检测的APP和gitHub链接。 文章目录 一、APP Bfast APP&#xff1a; [https://andreim.users.earthengine.app/view/bfastmonitor](https://andreim.users.earthengine.app/view/bfastmonitor)git…

C语言——通讯录管理系统

通讯录管理系统项目简介 功能说明 控制台黑窗口实现程序需要满足以下几个功能 程序开始运行时首先显示选择菜单界面&#xff0c;根据用户输入确定实现何种功能 程序界面 代码实现 多文件实现 和之前写的实战项目类似&#xff0c;这里同样采用多文件实现的方式 多文件写代码…

5G先锋开道,护航出行安全

“道路千万条&#xff0c;安全第一条”。 交通作为城市生命线“主动脉”&#xff0c;承载着助推经济发展的重要使命。构建“预、防、治”全周期交通管理&#xff0c;推进城市精细化管理刻不容缓。 为全面加强交通安全监管体系&#xff0c;天津某交管局决策对新区街道4000多个路…

计算机二级-简单应用题

题目要求 编写代码&#xff0c;以实现如下功能&#xff1a; 键盘输入小明学习的课程名称及考分等信息&#xff0c;信息间采用空格分隔&#xff0c;每个课程一行&#xff0c;空行回车结束录入&#xff0c;示例格式如下&#xff1a; 数学 90 语文 95 英语 86 物理 84 生物 87 屏幕…

(二)随机变量的数字特征:探索概率分布的关键指标

文章目录 &#x1f34b;1. 随机变量的数学期望&#x1f34b;1.1 离散型随机变量的数学期望&#x1f34b;1.2 连续型随机变量的数学期望 &#x1f34b;2. 随机变量函数的数学期望&#x1f34b;2.1 一维随机变量函数的数学期望&#x1f34b;2.2 二维随机变量函数的数学期望 &…

机器学习算法基础--逻辑回归

目录 1.数据收集及处理 2.数据提取及可视化 3.逻辑回归训练样本并且测试 4.绘制散点决策边界 逻辑回归的方法已经在数学建模里面讲过了&#xff0c;这里就不多讲了。 本篇我们主要是利用逻辑回归的方法来求解分类问题。 1.数据获取及处理 import pandas as pd from sklearn…

蓝桥杯2023年第十四届省赛真题-像素放置

目录 蓝桥杯2023年第十四届省赛真题-像素放置 题目描述 输入格式 输出格式 样例输入 样例输出 提示 【思路解析】 【代码实现】 大家觉得写得可以的话&#xff0c;可以加入QQ群907575059. 蓝桥杯2023年第十四届省赛真题-像素放置 时间限制: 3s 内存限制: 320MB 提交:…

QT--day3

2> 完成文本编辑器的保存工作 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_fontbtn_cl…

uniapp 实现不同用户展示不同的tabbar(底部导航栏)

一、背景 最近在做一个uniapp开发的小程序遇到一个需求&#xff0c;希望不同用户登录后展示不同的tabbar页面&#xff0c;但是uniapp项目中的pages.json是只有一个list数组的&#xff0c;并且是不能写成动态效果&#xff0c;为了实现这个需求&#xff0c;便自定义了tabbar组件 …

一文读懂SSL、TLS和mTLS的通信安全协议

今天让我们深入探讨一下SSL、TLS和mTLS等一系列重要的通信安全协议。尽管从整体系统设计的角度来看,这个主题可能并不是至关重要,但仍然值得我们深入了解。 1. SSL协议 SSL,即安全套接字层(Secure Socket Layer),是一种通信协议,旨在加密和保护互联网通信的安全性。虽…

从业二十年的测试工程师今天给大家分享postman的使用技巧以及快捷键的精髓

一、Postman是什么 Postman是chrome的一款插件,用于做接口请求测试,无论是前端,后台还是测试人员,都可以用postman来测试接口,用起来非常方便。 二、Postman安装 官网下载(FQ) Download Postman | Get Started for Free 三、Postman常用功能 安装好之后&#xff0c;我们先打开…

React(react18)中组件通信03——简单使用 Context 深层传递参数

React&#xff08;react18&#xff09;中组件通信03——简单使用 Context 深层传递参数 1. 前言1.1 React中组件通信的其他方式1.2 引出 Context 2. 简单例子3. 语法说明3.1 createContext(defaultValue)3.2 value3.3 useContext(SomeContext) 4. 总结4.1 Context4.1.1 Context…

【Java 基础篇】Java transient 关键字详解:对象序列化与非序列化字段

在 Java 编程中&#xff0c;我们经常需要将对象序列化为字节流以便于存储或传输&#xff0c;或者将字节流反序列化为对象以恢复其状态。然而&#xff0c;并不是所有对象的所有属性都应该被序列化。有些属性可能包含敏感信息&#xff0c;或者它们只在内存中有意义。在这些情况下…

每日练习-7

目录 一、选择题 二、算法题 1、两种排序方法 2、求最小公倍数 一、选择题 1、 解析&#xff1a; 指针和引用是C中两种不同的变量类型&#xff0c;它们都可以用来访问或修改其他变量的值&#xff0c;但是它们有以下几个区别&#xff1a; 引用必须在定义时初始化&#xff0c…