问题标签 [qpixmap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2827 浏览

c++ - 高性能 QImage 输出显示

我正在尝试将视频输出(帧序列)到任何 qt 可见小部件。一开始我认为 QLabel 就足够了……但我错了。转换为像素图对于处理大型图像(例如 1080p)来说过于过载。

还有其他解决方案吗?(不是 QLabel?)

一帧的代码示例:

0 投票
2 回答
8779 浏览

c++ - 加载 QPixmap 数据的更好方法

更好的方法(没有QImage)?:

我看不出有任何理由QImage用作中间缓冲区,但QPixmap::loadFromData不要使用此上下文加载数据:

0 投票
1 回答
5597 浏览

c++ - Qt drawPixmap 没有画出我所期望的

我正在尝试使用 Qt 在 C++ 中创建一个 Paint 应用程序。每次我单击或单击并拖动鼠标时,程序都会在像素图上绘制一些东西。之后,它会更新调用paintEvent() 的窗口,这会将像素图绘制到窗口上。

问题是,程序没有按预期将像素图打印到窗口上。例如,我在 x: 17, y: 82 处按下鼠标试图画一些东西。该程序将打印我绘制的内容,但在偏移位置,例如 x + 20, y。

也许我不完全理解 QRect 或 drawPixmap 是如何工作的,但是 pixmap 是 800x600。“dirtyrect”应该保存整个像素图(起始 ax:0,y:0,大小为 800x600)。

0 投票
1 回答
3694 浏览

python - 使用 PySide 在 QLabel 中显示视频流

任何人都可以为我指出如何在 PySide 中创建新的 QMovie“提供者”的正确方向吗?

我有一个视频流,我想尽可能简单地显示(没有音频,只有一系列帧速率未知且可变的帧)。这个例子看起来很完美,只是我的视频来自非常规来源。它不是文件,而是格式不规范的网络流。我可以轻松编写接收每一帧的代码,我的想法是创建一个“QMovie 提供程序”,这样我就可以在上面示例中的标签上显示此流。

我的第一个想法是继承 QMovie 并在那里覆盖一些函数,但在阅读文档时我开始重新考虑这一点,因为我不知道我应该如何处理我的实例将从中读取的“设备”。

我在前面提到的文档中注意到 QMovie 使用 QImageReader 所以我的下一个想法是扩展该类并让它从我的流中读取帧。然而,这提出了类似的问题,例如,我应该如何处理“supportedImageFormats()”函数?

每次收到新帧时,我一直在尝试直接更新 QLabel 上的图像,但随后出现错误“QPixmap:在 GUI 线程之外使用像素图不安全”。

所以基本上我有点难过,非常感谢任何关于如何让 QLabel 在 PySide 应用程序中显示我的视频流的指针或教程。

0 投票
1 回答
1020 浏览

c++ - QPixmap 图像文件未出现在 QGraphicsScene 上

Qt通过修改图表场景示例,我希望我的窗口在用户单击所描述的区域时显示覆盖对象GraphicalScene(原始示例显示代替QPolygon)。在下面的代码中,我使用QPixmap. 但是,单击该区域时不会出现任何内容。mousePressEvent通过点击的合理位置。感谢你的帮助。

图场景.cpp:

图OverlayPixmapItem.cpp:

这个线程是相似的(虽然它在python)但没有给我一个想法。

0 投票
1 回答
765 浏览

qt - Qt 4.7.4 - 在 QGraphicsItem 像素图中使透明像素可点击(扩展命中框)

我正在使用 Qt Creator 创建电路原理图编辑器。我有一个 QGraphicsScene/QGraphicsView 画布,我想将电路组件的图像拖放到上面并移动它们。

我目前正在使用像素图 QGraphicsItem 并将其添加到画布并使其可移动。这在您直接单击符号的线条时效果很好,但是当单击图像中的透明区域时符号不会移动。

有没有办法扩展 hitbox/mouse 区域以使这些透明区域的响应与符号上其他区域的响应相同?下面是我如何添加图像。(我需要图像透明,以便其他符号在其后面/前面可见)

非常感谢所有帮助!谢谢!乔什

0 投票
3 回答
11275 浏览

c++ - 在主窗口中显示 QImage

我正在尝试使用 Qt 显示图像,我可以让它出现在单独的窗口中,但我不能让它出现在主窗口中

这显示了我在 Qt 设计器中设计的窗口,如何访问我放在该窗口的 QWidget(centralWidget)中的 Qlabel(Image_Lbel)?

我生成了一个正确显示的条纹图像,只是不在正确的窗口内

我觉得可能是我没有包含来自创建者或名称空间的文件,任何建议都非常感谢

0 投票
1 回答
2837 浏览

c++ - C++ Qt QPixmap 分段错误

我正在使用 Qt 在 C++ 中实现一个带有 GUI 的纸牌游戏。

我有一个main.cpp,它通过调用window.cpp 中的Window 类来创建一个窗口。在 window.cpp 中,我们有一堆框架和其他小部件,它们稍后将形成 GUI。

然后是 card.cpp 中的 Card 类,其中包含有关卡片的信息。Deck.cpp 中的 Deck 类具有特定类型的卡片数量。最后,gui_cards_kingdom.cpp 从卡片的图像(卡片中的路径)和卡片中的信息(也在卡片中)构造一个小部件。gui_cards_kingdom 定义了一个继承自 Widget 的类,并包含一个 Deck 实例(以便能够提取所需的信息)。

到现在为止还挺好。在window.cpp 中,我创建了一个Card 实例,并将其放入Deck 的一个实例中,我将其发送到Cards_kingdom(gui_cards_kingdom.cpp 中的类)。

在 gui_cards_kingdom.cpp 中的 img->setPixmap(image) 行中使用 QPixmap 时出现分段错误

调试器告诉我信息在那里,一切都准备就绪,除了我使用 QPixmap 将卡的图像加载到标签上时。

这不是路径,因为我在 main.cpp 中测试了一些简单的代码(请参阅 main.cpp 中注释掉的代码)。我只使用了 img->setPixmap(image); 只是要确定。

我在我的知识的极限。我搜索了很多,没有找到任何东西,因此,我问你们,你们在这里看到了什么,我错过了?

提前感谢您的时间和帮助,

-比阿特丽斯

主.cpp:

卡.h:

卡.cpp:

甲板王国.h:

甲板王国.cpp:

gui_cards_kingdom.h:

gui_cards_kingdom.cpp:

窗口.h:

窗口.cpp:

0 投票
1 回答
829 浏览

qt4 - 带有文本和图像的 QString

有没有办法在 QString 中插入图像?我需要这样一个QString“'图像'一些文本”

它需要是一个 QString,因为我将它插入到 QPaint 事件中并且我不能为此使用 QLabel(因为我不能将 qlabel 插入到绘画区域中)

感谢所有的帮助!

0 投票
1 回答
778 浏览

c++ - 使用 QPainter 在 QPixmap 上绘制图形

我需要绘制一个实时图表来保持背景图像。假设我正在用红色绘制图表。

但我用于绘图的逻辑是使用painter.drawline 绘制小线,其中painter 是像素图画家。然后我不断地在计时器 timeout() 事件上使用画家将这个像素图绘制到父小部件。所以看起来更新后的图像(即图表)被绘制在 Gui 中。

像素图在背景中为黑色,绘图笔颜色为红色,因此当它到达屏幕宽度的末端时,我必须从位置 0 开始绘制图形,但从第二个周期开始,我必须填充先前绘制的像素(不是整个像素图,只是一个宽度为几个像素和高度的矩形,像素图的高度)与黑色。

但现在我需要保留背景图像,并在其上绘制图表。所以用黑色填充是行不通的,因为我必须保留图像的背景。那么如何在上述图像上绘制图表呢?

有没有办法混合两个图像,使得源图像中只有特定颜色(红色)的像素与目标图像中的相应像素混合/替换?