
Qt 开发
学完C++该学什么呢?很多人都在思考,厌倦了控制台的千篇一律和MFC的过时老旧?来学习Qt吧,这是你新的GUI伙伴,是你将程序应用在所有平台的桥梁。
之乎者也哦
测绘和遥感专业硕士毕业,从事过遥感预处理算法、图像算法、机器人3D视觉、点云、TCP/IP通信、数据库、安卓、arcgis开发工作,擅长C 、Qt、python、Java、C#、JavaScript。
展开
-
十六进制颜色代码大全
在Qt中使用时在前面加上0x,表示十六进制。比如QPen pen(0xFF0000);原创 2018-09-16 21:21:36 · 120517 阅读 · 9 评论 -
度分秒转度数和度数转度分秒
一、我们在处理数据或者进行数据输入输出时有时候需要用到度数,如35.8°,有时候需要用到度分秒41°48′23.126″,而给你的数据正好相反,那么就需要进行数据转换。对于普通的度分秒(全为整数),如41°48′23″,利用Excel进行转换也是非常容易的,网上也有很多教程。但是如果含有小数或者说浮点型的数据那就比较难处理。二、本文介绍如何利用Qt以文件的形式进行两者的互相转换,利用Qt开发...原创 2018-07-17 22:06:40 · 17784 阅读 · 9 评论 -
qt滚屏
//编辑框自动滚屏,每次新增一行或多行字符调用一次void autoScrollTextEdit(QTextEdit *textEdit,QString &text,QString &add_text){ //添加行字符并刷新编辑框 text+=add_text+"\n"; textEdit->setText(text); //保持编辑器在光标最后一行 QTextCursor cursor=textEdit->textCursor().原创 2020-08-27 10:21:41 · 402 阅读 · 0 评论 -
qt兰姆达表达式,带返回值的
一、语法定义如下:[capture](parameters) mutable ->return-type{statement}参数说明:1.[capture]:捕捉列表。捕捉列表总是出现在Lambda函数的开始处。实际上,[]是Lambda引出符。编译器根据该引出符判断接下来的代码是否是Lambda函数。捕捉列表能够捕捉上下文中的变量以供Lambda函数使用;2.(parameters):参数列表。与普通函数的参数列表一致。如果不需要参数传递,则可以连同括号“()”一起省略;3.mu原创 2020-08-27 11:02:34 · 1399 阅读 · 0 评论 -
qt定位、导入shape
桌面ArcGIS需要esri为Qt开发的一个SDK,链接https://developers.arcgis.com/qt/latest/需要注意的是Qt5.12(包含)版本之后支持这个SDK,早期版本并不支持,当然Qt可以下载多个版本,在一台电脑都可以运行。默认安装即可,SDK会自动集成在Qt中,新建Qt项目可以找到ArcGIS模板,选择你喜欢的方式:WIdgets、C++、QML官方给出的例子都是基于QML和C++,我用的是Widgets,使用过程发现某些功能在Widgets不行,建.原创 2020-08-23 16:47:04 · 1644 阅读 · 1 评论 -
Qt打开文件方式
#include <QFileDialog>void MainWindow::on_pushButton_clicked(){ //""记住上次打开 QString fileName1 = QFileDialog::getOpenFileName(this,"打开","","All File(*.*);;Text(*.txt)"); //"."打开根目录...原创 2019-09-25 09:27:10 · 4426 阅读 · 0 评论 -
Qt信号和槽函数的四种实现方式
1、以按钮为例,首先添加一个按钮,对象名为pushButton,在按钮是右键单击选择“转到槽”即可,在转到槽选择面板(右图)里面选择需要进行的操作,比如单击clicked() 2、选择菜单“编辑”,找到Edit Signals/Slots,或者在工具栏中找到第二项(第二张图),然后拖动按钮并释放, 弹出“配置连接”选项,选择需要进行的操作即可。...原创 2019-05-29 14:18:40 · 22007 阅读 · 5 评论 -
QString转string
1.QString转stringQString s;string str = s.toStdString();2.string转换QStringQString s= QString::fromStdString(str);原创 2019-05-31 19:20:51 · 1332 阅读 · 0 评论 -
qt保留两位小数
QString str;double val = 3.14159;str = QString::number(val,'f',2);//方法1str = str.setNum(val,'f',2);//方法2str = QString::asprintf("%.2f",val);//方法3str = str.sprintf("%.2f",val);//方法4 ...原创 2018-09-26 20:06:53 · 15944 阅读 · 1 评论 -
QComboBox设置字体样式
一、我们希望将系统的字体添加到下拉列表中,并且在工具栏中显示,效果如下图所示:二、单纯的用QComboBox是不能获取字体样式的,QComboBox仅仅是一个下拉列表,并不能获取系统字体,Qt专门提供了一个类QFontComboBox来获取下拉式的系统字体;参考Qt助手查看QFontComboBox类的第一句是The QFontComboBox widget is a combobox...原创 2018-09-26 10:10:24 · 8126 阅读 · 0 评论 -
Qt中文路径乱码问题(MSVC编译器)
一、由于使用GDAL必须在MSVC版本下的Qt中,因此下载了一个MSVC版本的Qt,但是在显示中文、利用GDALOpen函数读取图像、选择文件夹、写入图像时都不能有中文字符,如果有则显示为乱码。比如我想利用打开文件对话框传递fileName给GDAL打开函数,直接传递是不行的,因为GDALOpen第一个参数必须是const char*,而fileName必须是QString类型,因...原创 2018-09-15 18:12:27 · 1558 阅读 · 0 评论 -
Qt获取多个文件路径和文件名
首先包含头文件#include <QFileDialog>#include <QDebug>然后利用列表存储获得的多个文件路径和文件名,使用getOpenFileNames获取多个文件路径。这里使用filePath_list存储文件路径,用fileName_list存储文件名,利用QFileInfo获得文件名。将下面的代码放入槽函数中即可。 Q...原创 2018-08-08 14:52:22 · 3294 阅读 · 0 评论 -
Qt队列的使用
一、queue:队列队列是一种先进先出的数据结构,是一个模板类。队列和栈是一种数据逻辑概念,即数据能进行的操作。主要区别是:队列先进先出(First In First Out),栈后进先出。链表和顺序表是一种数据存放方式,主要区别是:链表有节点,通过指针找到下一个节点,因此在内存中链表数据不需要连续存放;顺序表则是连续存放,通过第一个元素就可以找到其他元素。二、C++中的队列需...原创 2018-08-15 14:17:31 · 34160 阅读 · 2 评论 -
QT 进度条类 QProgressDialog的简单使用
一、The QProgressDialog class provides feedback on the progress of a slow operation. QProgressDialog 类对于比较慢的处理进程提供了一种反馈,使得我们在进行操作的时候能够看到处理的进度。例如:二、打开Qt,新建项目,名称为new4,选择Widget,这里不用Mainwindow,ui设计很简单...原创 2018-07-18 17:19:06 · 18093 阅读 · 1 评论