73 QT编程入门
0 引言
最近开始在QT下编程,记录一下遇到的问题以及解决方法。
1 安装下载及学习资料
(1)安装下载链接
安装链接: https://blog.csdn.net/qq_23473839/article/details/80523318
不同版本的安装包下载链接: http://download.qt.io/archive/qt/
(2)学习资料链接
QT编程指南: https://qtguide.ustclug.org/
(3)信号槽机制
IBM developer: https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html
博客园老哥: https://www.cnblogs.com/QG-whz/p/4995938.html
2 bug类
(1)Error: Could not decode "GLCanvas.cpp" with "UTF-8"-coding. Editing not possible.

解决方法:
(1.1)找到该文件所在目录,用notepad++ 打开该文件

(1.2)notepad++:编码 -》 转为UTF-8编码 -》 保存退出

(1.3)回到QT: Yes to ALL,转换成功; 如果Error还没消失的话,就点Select Encoding, 选择 system就行

(2)编码问题错误
(1.1)下载github上下载了注释语言为加泰罗尼亚语的代码,其编码格式未知,反正不是UTF-8,导致代码在QT里无法编辑。为了解决这个问题,采用notepad++进行转码,得到的文件发生了0中的问题,截图如下。
转码前:
//Creaci?del canal d'informaci?
mSceneInformationBuilder->CreateHistogram(mScene, mSphereOfViewpoints, pWidthResolution, pFaceCulling, true); 转码后
//Creaci?del canal d'informaci? mSceneInformationBuilder->CreateHistogram(mScene, mSphereOfViewpoints, pWidthResolution, pFaceCulling, true);
(1.2)结果导致传值传不进去,程序运行发生错误,回车就好啦。
(3)qt designer无法打开
发现是如下原因。本人同时编译了debug和release版本的QTVKWidge插件,希望qt能同时支持这两种,结果发现qtdesigner不识别debug版本的,无法打开就是-gd后缀的文件导致的,删除即可。

3 qt调试
(1)qtmaind.pdb
调试文件,没有不影响运行,但是会报warning的错,导致无法正常调试。
4 qt下的可视化
PCL+Qt+VS可视化点云
https://blog.csdn.net/wokaowokaowokao12345/article/details/51078495
5 qt and vtk
(1)需要自己编译vtk for qt,教程如下
# 在windows上编译CloudViewer
https://github.com/nightn/CloudViewer/blob/master/doc/compiling-cloudviewer-windows.md https://www.jianshu.com/p/0077466c3d34 # 在编译时,需要选择qmake的目录,否则编译出来的文件会出错
(2)QVTKWidget在qt中的使用
2.1 在QT Creator中将widget组件提升为 QVTKWidget

2.2
(3)
6 qt类和组件学习
(1)QMainWindow,QWidget 和 QDialog的区别
https://blog.csdn.net/rl529014/article/details/51419126
QWidget是所有用户界面元素的基类,窗口和控件都是直接或间接继承自QWidget, QMainWindow、QWidget、QDialog 三个类就是用来创建窗口的,可以直接使用也可以继承后再使用。
1.1 QMainWindow菜单栏、工具栏、状态栏、标题栏等,是最常见的窗口形式,可以作为GUI程序的主窗口。

QMainWindow的布局如图
1.2 QDialog 是对话框窗口的基类。对话框主要用来执行短期任务,或与用户进行互动,它可以是模态的也可以是非模态的。QDialog 没有菜单栏、工具栏、状态栏等。
1.3 如果是主窗口,就使用 QMainWindow;如果是对话框,就是用 QDialog;如果不确定,或有可能作为顶级窗口,也有可能嵌入到其他窗口中,那么使用 QWidget。
73 QT编程入门的更多相关文章
- qt编程入门
面对qt编程,必须先知道qt中常用的类: QPushButton按钮类.QLabel标签类.QMessageBox对话框类.QCheckBox.QAction.QMenu.QStatusBar.QTo ...
- 【浅墨著作】《OpenCV3编程入门》内容简单介绍&勘误&配套源码下载
经过近一年的沉淀和总结,<OpenCV3编程入门>一书最终和大家见面了. 近期有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的文件夹,方便大家更好的了解这本书的内容.事实上近 ...
- Python可视化界面编程入门
Python可视化界面编程入门具体实现代码如所示: (1)普通可视化界面编程代码入门: import sysfrom PyQt5.QtWidgets import QWidget,QApplicati ...
- Python编程入门(第3版)|百度网盘免费下载|零基础入门学习资料
百度网盘免费下载:Python编程入门(第3版) 提取码:rsd7 目录 · · · · · · 第1章 编程简介 11.1 Python语言 21.2 Python适合用于做什么 31.3 程序员 ...
- Python编程入门(第3版) PDF|百度网盘下载内附提取码
Python编程入门(第3版)是图文并茂的Python学习参考书,书中并不包含深奥的理论或者高级应用,而是以大量来自实战的例子.屏幕图和详细的解释,用通俗易懂的语言结合常见任务,对Python的各项基 ...
- 编程入门选什么语言好?C 语言还是Python ?为你解析
前面我分享过计算机行业已经成了学校选择排名第一,家长和学生都很看好计算机类专业.现在IT行业也越来越火爆,程序员越来越被人看好.面对相比同龄人高薪资的诱惑,人们很难不心动,即使秃头也值得! 那么问题来 ...
- QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系
摘要 我们使用的标准 C++,其设计的对象模型虽然已经提供了非常高效的 RTTI 支持,但是在某些方面还是不够灵活.比如在 GUI 编程方面,既需要高效的运行效率也需要强大的灵活性,诸如删除某窗口时可 ...
- QT从入门到入土(三)——信号和槽机制
摘要 信号槽是 Qt 框架引以为豪的机制之一.所谓信号槽,实际就是观察者模式.当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号 (signal).这种发出是没有目的的,类似广播 ...
- Qt Creator 入门
Qt 的入门我觉得可以直接从窗口开始,而不是什么"Hello World!".因为Qt 是一个基于图形界面的编程软件,图形界面编程是其核心所在.很久以前,那时候还是Shell编程, ...
随机推荐
- ceph 指定OSD创建pool
https://my.oschina.net/wangzilong/blog/1549690 ceph集群中允许使用混合类型的磁盘,比如一部分磁盘是SSD,一部分是STAT.如果针对某些业务小高速磁盘 ...
- [NOIP模拟测试31]题解
A.math 考场乱搞拿了95,2333. 考虑裴蜀定理:$ax+by=z$存在整数解,当且仅当$gcd(a,b)|z$. 那么如果某个数能够被拼出来,就必须满足所有$a_i$的$gcd$是它的因子. ...
- 探索Redis设计与实现14:Redis事务浅析与ACID特性介绍
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- 聊一聊 http2.0
1. 我们认识http 协议,从最初的,客户端与服务器进行通讯,基于连接发生的请求与响应 在HTTP1.0时代,连接无法复用,每次下完单,都被强制登出/关机,下一次下单,就得重新登录. 为了解决htt ...
- 浏览器地址栏运行HTML代码(谷歌)
在地址栏输入 data:text/html,<h1 style='color:red' >Hello, world!</h1> 浏览器会执行你的html代码,效果如下: 如果觉 ...
- WebBrowser是IE内置的浏览器控件
WebBrowser是IE内置的浏览器控件.WebBrowser是IE内置的浏览器控件.WebBrowser是IE内置的浏览器控件.重要的事情说三遍,原因是一开始使用的时候就在这踩了坑. WebBro ...
- send_keys报错element not interactable
这两天要在阿里云日志中操作UI,以输入关键字搜索日志. 在send_keys时报错element not interactable. iframe 第一个问题是iframe,通过切换iframe解决: ...
- oracle查询不显示小数点前的0
1.问题起源 oracle 数据库字段值为小于1的小数时,使用char类型处理,会丢失小数点前面的0 例如0.35就变成了.35 2.解决办法:用to_char函数格式化数字显 ...
- 13-vim-复制和粘贴-01-复制和粘贴
1.vi中提供有一个被复制文本的缓冲区 复制命令会将选中的文字保存在缓冲区. 删除命令删除的文字会被保存在缓冲区 在需要的位置,使用粘贴命令可以将缓冲区的文字插入到光标所在位置. vi中的文本缓冲区同 ...
- oracle中hint 详解
Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行 ...