进击的Qt
文章平均质量分 51
田pangp
征婚。。。
展开
-
Qt · 记一个视图框架(QGraphics)渲染错误的解决方法
移动item时,如果有实时碰撞检测,可能由于检测过程中,scene并没有实时渲染完成就急忙输出(猜想是Qt内核对碰撞检测和移动item做了多线程操作,导致不同步)。我们需要添加一个scene->update(),即可解决。实时的碰撞检测,一般是通过编写scene->chenged信号的槽函数实现的。当scene中的item增加、删除、移动、item树变动,都会引发chenged信号。在changed槽函数中,添加scene->update(),每次完成检测后手动的更新渲染视图...原创 2021-08-01 15:04:08 · 531 阅读 · 0 评论 -
Qt QGraphicsView拖拽(移动)、缩放
谦虚的话就不说了,我也是小白,仅供参考(还是说了)先讲原理,只有明白原理之后才能开始做事。首先需要明白,view在整个视图框架中的角色是用于显示scene的,所以决定了如何展示scene,包括scale()函数,用于放大缩小所展示的scene;centerOn()函数,决定scene的中心在何方。所有的操作,都不会直接改变scene,改变的只是如何展现scene。一、缩放先来说缩放,因为缩放最为简单。主要使用到scale()函数。该函数用于缩放场景,但是并不是改变了scene的大小尺寸,原创 2021-08-01 10:37:29 · 20774 阅读 · 17 评论 -
Qt QGraphicsTextItem居中/左对齐/右对齐
刚刚开始想学习Qt,不是很了解,做居中操作的时候看了很多大佬的写法不是非常理解,这里按照自己的理解写的比较简单的实现,具体需要boundingRect()函数获取宽度信息,就可以以给定参数定位。二话不说,线上代码:QGraphicsTextItem* MainWindow::createTextItem(QString text, int fontSize, int alignState, QPointF pos){ /* 0 ------- align left原创 2021-07-29 07:18:18 · 3356 阅读 · 1 评论