qpainter相关内容

如何在使用DrawLine时追踪丢失的像素

我们知道,要在qt中的图像上绘制,需要使用qaint ter。最近,我使用draLine()函数来绘制用户正在涂鸦的任何内容。这是通过将lastPoint和currentPoint从MouseMoveEvent传递给实现DrawLine()的自定义函数来实现的。我已经传递了该自定义函数的参数,如下所示: void myPaint::mouseMoveEvent(QMouseEvent *ev ..
发布时间:2022-03-30 13:50:44 其他开发

如何在QPixmap上使用QPainter

我是Qt/Embedded的新手。我想使用QPainter在将添加到QGraphicsScene的QPixmap上绘制内容。这是我的代码。但它不会显示像素图上的图形。它只显示黑色像素图。 int main(int argc, char **argv) { QApplication a(argc, argv); QMainWindow *win1 = new QMainWindow ..
发布时间:2022-03-30 10:56:11 其他开发

无法在 Qt Widget 上绘图,显示错误“paintEngine:不应再调用"

我使用 Qt Creator 创建了一个小部件,它在一个主窗口内有两个子窗口和一些按钮来加载、保存图像、设置笔宽和颜色以在窗口上绘制.但是当我开始画画时,它给了我一个错误提示 QWidget::paintEngine: 不应再被调用QPainter::begin: 绘制设备返回引擎 == 0,类型:1QPainter::setPen:Painter 未激活QPainter::drawPoint ..
发布时间:2022-01-18 22:27:23 C/C++开发

如何在 PyQt5 中通过拖放来绘制矩形并调整其形状

我正在尝试通过拖放在 PyQt5 创建的 GUI 上绘制一个矩形.我设法做到了,但是释放鼠标左键时会绘制矩形. 我想做的就是这样link: 按下鼠标左键时,开始绘制矩形. 拖动时,通过鼠标移动调整矩形形状. 松开鼠标左键后,确定矩形形状. 我该如何实现呢?提前致谢. 这是我的代码. # -*- 编码:utf-8 -*-导入系统从 PyQt5 导入 QtWidgets、 ..
发布时间:2022-01-12 22:36:10 Python

QTableView派生类中的paintEvent:绘制设备返回引擎== 0,类型:1

作为 Qt 负载指示器的后续动画图像(又名预加载器)或替代方法? 我尝试在 QTableView 内绘画.但是当我初始化 QPainter 时,我收到以下警告. QWidget::paintEngine: 不应再被调用QPainter::begin: 绘制设备返回引擎 == 0,类型:1 这是代码(SO 答案,带有一个似乎可以工作的按钮): void CDerivedFromQTableV ..
发布时间:2021-12-09 16:44:44 其他开发

如何使 Qt 小部件淡入或淡出?

我正在尝试淡入和淡出 QLabel 或任何 QWidget 子类.我已经尝试过 QGraphicsEffect,但不幸的是它只在 Windows 上运行良好,而在 Mac 上不起作用. 唯一可以在 Mac 和 Mac 上运行的其他解决方案Windows 似乎有我自己的自定义 paintEvent,我在其中设置了 QPainter 的不透明度,并在我的派生 Q_PROPERTY 中为“opac ..
发布时间:2021-11-10 05:50:42 其他开发

在paintevent之外的QPainter画家对象

我试图在 QWidget 窗口中绘制一个简单的二维图形.定义了一个paintEvent,同时定义了一个QPainter 类的painter 对象.我的绘图包含我需要在不同位置多次绘制的元素,例如线条、文本等.为此,我使用函数以不同的位置绘制这些线条.文本也是如此.为了使程序更短,也模块化. paintEvent 函数正在调用用于计算和绘制的函数. 如何将 paintEvent 中定义的 ..
发布时间:2021-09-18 19:15:24 其他开发

如何使 QImage 或 QPixmap 半透明 - 或者为什么 setAlphaChannel 已过时?

4.7 并且喜欢在 qgraphicsview 上叠加两个图像.顶部的图像应该是半透明的,以允许看穿它.最初,两个图像都是完全不透明的.我期望存在一些为每个像素设置全局 alpha 值的函数,但似乎没有这样的函数.最接近它的是 QPixmap::setAlphaChannel(const QPixmap & alphaChannel),然而,它自 Qt-4.6 以来被标记为过时.相反,手册提到了 ..
发布时间:2021-09-09 19:26:03 其他开发

更改 QPainter 的原点

默认QPainter 的原点在左上角.我想绘制形状,但我拥有的所有坐标都在笛卡尔系统中.所以我的问题 - 如何将原点更改为左下角?当然,我可以 scale(1,-1) 但随后 drawText() 也可以缩放并打印反转文本.我只需要移动原点即可. 解决方案 QPainter Painter(this);Painter.translate(this.rect().bottomLeft()); ..
发布时间:2021-09-09 19:19:06 其他开发

在 QImage 上渲染大型 QGraphicsScene 会将其剪掉

我正在创建一些图像来渲染 QGraphicsScene 的内容. 我的项目要求是它应该处理 10 英尺 x 8 英寸的画布尺寸.在屏幕和场景尺寸上,即 8640 x 576 像素. 我可以渲染得很好. 问题是,输出图像需要有 300 分辨率. 这意味着,渲染图像的宽度为 36000,超过 2^15 - 1 = 32767 像素..... 输出被剪裁 - 在下面的代码中,我会得到一 ..
发布时间:2021-07-07 19:20:14 其他开发

使用 QPainter 在 QWidgets 之间画一条线

我正在开发一个应用程序,我需要能够在两个 QWidget 对象之间画一条线.我已经尝试了很多东西,但我目前的尝试(我认为是在正确的方向,我只是认为我错过了一些东西)是拥有包含小部件(我称之为 DrawWidget 并保存 QWidget 对象添加到的 QGridLayout 覆盖 paintEvent 方法并调用 QPainter::drawLine() 函数. 我遇到的问题是: 无论 ..
发布时间:2021-06-30 18:34:17 C/C++开发

QGraphicsItem 绘制延迟

这可能是什么原因?当我放大 QGraphicsView 并移动 QGraphicsItem 时,我得到了这个奇怪的结果.如果我再次缩放或平移视图或者我专注于其他小部件,它会更新.我使用 PySide.而painter函数就是这个 defpaint(self,painter,option,widget):如果 self.isSelected():画笔 = self.highlight_brushp ..
发布时间:2021-06-24 20:29:36 Python

PyQT5:如何在 QLabel Widget 中以交互方式在图像上绘画?

Python 3,Mac OS Mojave 上最新版本的 PyQt5 我想要一个 PyQt5 程序,在该程序中,用户可以在图像上绘制连接的点(独特地单击,这些点会自动连接).重要的是,我只能在 QLabel 小部件(或替代小部件)中的图像上绘制,而不能在整个主窗口上绘制. 我可以绘制图像并获得前两次点击的坐标,但是当我想在图像上绘画时,它发生在图像下方.此外,我无法将坐标作为我的pa ..
发布时间:2021-06-24 20:12:51 Python

如何旋转 QPushButton?

我想---使用 Python 和 Qt4---旋转 QPushButton(或至少它的文本)所以它可以垂直站立.我看过一些在线文档,但我无法理解它---它是用 C 语言编写的,而我是 C 文盲. 从我读到的内容来看,需要重新实现 paintEvent() 处理程序,实例化并旋转一个 QPainter().然而,我无法弄清楚如何为我只需要的一个 QString 或 QPushButton 执行 ..
发布时间:2021-06-24 19:51:22 Python

QPainterPath 沿多条路径绘制和放置项目

我从以前的代码行中开发并添加了一些特殊行为.想法是在矩形和圆形内部的某个路径上绘制小圆形,并根据预先给定的距离放置它们.我想根据用户给定的距离以编程方式自动绘制.IE.距离和数量会有所不同. 我自己看了这个练习,并用非常复杂的 for 循环和长代码行来解决这个问题.我害怕在这里重复同样的过程. 我想要达到的目标: 在矩形的情况下,圆的大小由下式给出: self._rebar = ..
发布时间:2021-06-24 19:35:52 Python

PyQt 打印 QWidget

我正在尝试按照打印 QWidet 的文档进行操作,并且出现错误.当我运行以下代码时,我得到 QPaintDevice:无法销毁正在绘制的绘制设备. 导入系统从 PyQt4 导入 QtGui、QtCore类 SampleApp(QtGui.QDialog):def __init__(self):super().__init__()布局 = QtGui.QVBoxLayout()self.setLa ..
发布时间:2021-06-24 19:31:51 Python

PyQt5 使用 keyPressEvent() 触发paintEvent()

我正在尝试学习 PyQt 矢量绘画.目前我一直在尝试将信息传递给我猜应该调用其他方法的paintEvent()方法: 我试图将不同的数字绘制到一个基本块(这里是 drawFundBlock() 方法,它应该绘制一些线条).代码试图检查是否按下了右箭头-> drawFundamental 块,如果按下了数字(现在尝试简单地绘制“5"),它将在该基本块的某个区域上绘制该数字.但我似乎无法让 QP ..
发布时间:2021-06-24 19:22:17 Python