- 博客(30)
- 收藏
- 关注
原创 Qt区分鼠标按下时移动的是哪个多边形
给每个多边形分配一个唯一的标识符,并在鼠标事件中使用这个标识符来识别多边形。:为每个多边形分配不同的事件处理器,或者在同一个处理器中使用逻辑来区分。:在鼠标按下事件中,检查鼠标的位置是否在某个多边形的边上或顶点上。:例如,可以使用图形的颜色、层级或其他属性作为区分依据。来绘制这两个多边形,并重写了鼠标事件来处理拖动逻辑。
2024-07-17 10:34:07
649
原创 Qt鼠标拖动线条组成的多边形移动
函数用于检测鼠标点击是否在多边形的边上,如果检测到鼠标在线上,就记录下顶点索引和偏移量,并在鼠标移动时更新顶点位置。中,如果鼠标按钮保持按下状态,则根据鼠标的当前位置和之前计算的偏移量更新顶点的位置。:在鼠标按下时,计算鼠标位置和被按下顶点之间的偏移量。:如果鼠标在线上,记录下被按下的顶点的索引。来绘制多边形,重写了鼠标事件来处理拖动逻辑。:定义一个顶点列表,存储多边形的每个顶点。中,检测鼠标是否在多边形的任意一条边上。,它包含一个多边形顶点列表。:在顶点移动后,调用。方法来请求重绘控件。
2024-07-16 16:34:09
435
原创 Qt判定鼠标是否在该多边形的线条上
遍历多边形的每条线段,使用点到线段距离的公式计算鼠标位置到每条线段的距离。:如果距离小于某个阈值(例如像素单位的5或10),则可以认为鼠标位于线条上。函数检查鼠标位置是否在指定的阈值内。如果是,则可以认为鼠标位于线条上。是多边形顶点的数组。在实际使用中,你需要将这些变量替换为你的具体值。)是一个敏感度参数,你可以根据实际需要调整这个值。函数计算了给定点到线段的最近点的距离。函数遍历多边形的所有线段,并使用。是鼠标事件提供的当前鼠标位置,方法获取鼠标的当前位置。:在鼠标事件中,使用。
2024-07-16 16:26:32
819
原创 C++智能指针的用法
智能指针是C++11引入的,用于自动管理内存的对象。它们帮助开发者避免内存泄漏和其他与动态内存分配相关的问题。推荐使用标准库中的智能指针,因为它们提供了更好的内存管理功能。
2024-07-13 15:08:33
266
原创 QLineEdit文本框及其文字爆红效果
当文本框文字变化时,需要发送一个文字变化的信号,当所属条件不达标时,来调用该效果。例如一个文本框中的内容大于90时,调用此效果。
2024-07-13 10:53:58
167
原创 在Qt中,如果你想要限定QLineEdit文本框中浮点数的取值范围
你可以使用QLineEdit的setValidator方法来设置一个合适的验证器。Qt提供了几种内置的验证器,例如QDoubleVa。用户在文本框中输入的值将被限制在这个范围内,如果输入的值超出这个范围,文本框会高亮显示错误,并且不会接受超出范围的输入。默认情况下不允许输入负号,如果你希望允许负值,需要在构造函数中设置。设置了一个浮点数验证器。在这个示例中,我们创建了一个。这样,用户就可以输入负数了。
2024-07-13 09:30:07
278
原创 QVector 和 QList用法
都提供了丰富的方法来操作容器中的元素,你可以根据实际的需求和场景选择使用哪一个。通常,如果你需要频繁地访问元素,是一个双向链表,提供快速的插入和删除操作。它的内存使用不是连续的,适合插入和删除操作频繁的场景。是一个动态数组,提供快速的随机访问能力。它的元素存放在连续的内存块中,适合读取操作频繁的场景。在这两个示例中,我们展示了如何创建容器、添加元素、访问元素、修改元素、遍历容器、查找和删除元素。如果你需要频繁地在容器中插入或删除元素,
2024-07-11 08:24:31
185
原创 QJson的介绍及用法
Qt提供了`QJsonDocument`、`QJsonObject`、`QJsonArray`、`QJsonValue`等类来处理JSON数据。Qt的网络模块可以处理JSON数据,使用`QJsonDocument`类可以轻松地将JSON字符串转换为Qt的数据结构。Qt应用程序可以使用`QJsonDocument`和`QJsonObject`等类来读取和解析JSON格式的配置文件。许多第三方服务和API使用JSON作为数据交换格式,Qt应用程序可以通过HTTP请求与这些服务交互,并处理返回的JSON数据。
2024-07-09 18:34:44
170
原创 异常Microsoft C++异常:decaf::util::NoSuchElemException,位于内存位置)x000000E695BFD560处。异常:Microsoft C++异常
Ox00007FFD08B0F39C处位于(comm_monitor.exe中)引发的异常:Microsoft C++异常:decaf::util::NoSuchElemException,位于内存位置)x000000E695BFD560处, Ox00007FFD08B0F39C处位于(comm_monitor.exe中)引发的异常:Microsoft C++异常:decaf::lang::exception::ClassCastException,位于内存位置x000000E6959FF120处。
2024-07-09 18:02:45
302
原创 VS2017 LNK1104 LNK2001 LNK2019动态库链接问题,无法解决的外部符号
5.点击常规查看附加库目录是否到本项目的debug目录或项目exe生成的同一目录下。3.确定配置是Debug还是Release,平台是否为x64或你的要求。7.连接器的输入下,查看附加依赖项加入所需lib文件。6.将所在库(dll,lib文件)加入在目录下。8.确定头文件引用目录路径正确即可。4.在配置属性中点击展开连接器。1.打开解决方案资源管理器。2.右击项目,点击项目属性。
2024-07-09 14:45:06
148
原创 QRegExp 类的用法
你可以设置一个新的正则表达式,也可以获取当前的正则表达式。: 你可以在更长的文本中搜索匹配项,并且获取匹配项的位置。定义了捕获组,你可以使用它们来提取字符串的子部分。对象来检查一个字符串是否与正则表达式匹配。对象,例如使用一个正则表达式字符串。: 你可以通过不同的方式创建。是一个验证器,可以用来限制。或其他输入字段的输入格式。: 正则表达式中的括号。来替换文本中的匹配项。
2024-07-09 14:09:53
254
原创 在QMap地图上的线段橡皮筋特效,并在线段右端随时跟随移动文本
何为橡皮筋特效,即为按下鼠标拖动时,以刚开始按下的点为中心点,拉出一条直线,随鼠标拖动来随时改变(可随时拉长拉短改变方向)。当松开鼠标时线段消失。鼠标释放时文本跟随线段一起消失可以在mousereleaseevent函数中加入m_textItem->hide();该函数displayString(m_startPoint,currentMapPoint);若要在线段右端显示文本,将该函数加入cpp,并在mouseMoveEvent函数中引用。该特效的重点在于重写鼠标事件。至此橡皮条特效已实现。
2024-07-08 16:14:32
201
原创 Qt对ui控件的勾选note
如以上代码,res点击为应true,但程序断点后发现res为false;实际上应对该控件的ui进行checkable勾选,即可解决错误。
2024-01-25 17:23:10
391
原创 terminate called after throwing an instance of ‘std::bad_alloc‘ what(): std::bad_alloc
QButtonGroup *m_btnGourps[9]中。1.bool定义的方法中缺少返回值return;中把[8]改为[循环体定义的参数]运行时未new,应添加。若已添加则为运用错误。
2024-01-17 15:16:28
861
原创 程序异常结束the process was ended forcefully. qt
有时debug反应不过来,需要重新构建。但在cpp中没有new一个新的对象。1.右击项目,重新构建运行。
2024-01-16 17:50:45
451
1
原创 计算机网络基本原理。在局域网内建立三个应用服务,分别是DNS服务、WEB服务、FTP服务。
开始——管理工具——打开DNS——右键正向查找区域,新建区域(区域名称fhb123.cn)——右键区域,新建主机(名称 www, IP地址为本机的IP地址)添加主机——点击本地连接——点击属性——将首选DNS服务器地址改为本机IP,点击确定——功能键+R打开cmd——输入nslookup测试DNS正向查找链接情况(结果均为本地IP)——客户机本地连接属性——将首选DNS服务器地址改为主机IP——打开浏览器输入域名。2、建立各小组的dns域名(t*.gl.sdut.edu.cn)3、建立各小组的web网站(
2024-01-15 17:35:19
477
原创 LNK2001 无法解析的外部符号 “public: virtual float __cdecl ODU::getRxL(void)“ (?ge
在多态继承中,说明子类继承的基类方法 virtual getRxl()并没有在基类.cpp中实现。return rxL;应在cpp中检查,对该方法进行具体实现。
2024-01-15 15:00:07
418
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人