首页
学习
活动
专区
圈层
工具
发布

小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

〇、前言图,貌似是一个好看的 UI 中必不可少的东西,精美的 UI 中不可避免的会使用一些奇特的各种图像元素来提升用户体验。对于开发者而言,如何在应用程序中有效地显示和处理图像成为一个重要的课题。...QBrush:用于描述绘画操作中的填充样式的类。它可以用于填充图形元素,如矩形、椭圆、多边形等。QPen:用于描述绘画操作中的画笔样式的类。它可以用于指定绘制图形边框的颜色、宽度、样式等。...它可以用于展示和操作复杂的图形,如绘图、图表、地图等。QOpenGLWidget:用于在GUI应用程序中显示OpenGL渲染的图形的类。它提供了与OpenGL集成的功能,可以显示和交互3D图形。...然后,使用QPixmap加载图像文件,并使用setPixmap()方法将图像设置为QLabel的内容。最后,我们显示窗口并进入应用程序的事件循环。...使用QPixmap加载图像文件,然后将图像添加到场景中。接着,将场景设置为QGraphicsView的场景,并使用setAlignment()方法使图像居中显示。

4.2K40

PyQt 截图小工具

一、动机与需求工作中,我经常需要:用鼠标框选任意屏幕区域截图;对截图进行自由涂鸦、箭头、文本标注;一键点击即可保存到本地,或复制到系统剪贴板,方便粘贴到聊天窗口;通过快捷键(如 Ctrl+Shift+S...ScreenshotOverlay:全屏透明窗口,拦截鼠标事件,绘制选区框并捕获所选区域。AnnotationCanvas:基于 QWidget 的画布,承载截图位图与用户涂鸦、文字注释操作。...annotation_canvas.py:实现对截图结果的涂鸦、文字、保存与复制功能。utils.py:封装剪贴板操作、文件对话框、图像格式处理等公共逻辑。...七、注释画布 AnnotationCanvas捕获到 cropped 的 QPixmap 后,需要打开一个新的窗口,让用户进行涂鸦和文字标注。...保存到文件在 save 方法里: def save(self): from PyQt5.QtWidgets import QFileDialog # 合并底图与标注

73200
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt官方示例-拖动图标

    拖动图标示例显示了如何在同一应用程序中的小部件之间以及不同应用程序之间拖放图像数据。   在使用拖放的许多情况下,用户开始从特定的窗口小部件拖放,并将有效负载拖放到另一个窗口小部件上。...在此示例中,我们将QLabel子类化以创建用作拖动源的标签,并将其放置在同时充当容器和放置站点的QWidget中。   另外,当发生拖放操作时,我们希望发送的不仅仅是图像。...我们还希望发送有关用户在图像中单击位置的信息,以便用户可以将其精确放置在放置目标上。这种详细程度意味着我们必须为数据创建自定义MIME类型。...我们通过重新实现QWidget::mousePressEvent()并设置一个QDrag对象来做到这一点。...,并定义将像素图的位置置于光标下方的热点位置。

    2.4K31

    【从零开始的Qt开发指南】(二十四)Qt 界面优化之绘图实战:解锁自定义界面的无限可能

    ,即 “画在哪里”,如 QWidget、QPixmap、QImage 等 QPen 画笔 控制线条的样式,包括颜色、宽度、线型(实线、虚线等) QBrush 画刷 控制封闭区域的填充效果,包括纯色、渐变...&pixmap); x, y:图片在窗口中的左上角坐标 pixmap:要绘制的图片对象(通过文件路径加载) 实现步骤 步骤 1:准备图片资源 在项目文件夹中创建picture文件夹,放入图片文件(如...五、特殊的绘图设备:QPixmap、QImage、QPicture 除了 QWidget,Qt 还提供了三种特殊的绘图设备,分别适用于不同场景: QPixmap:优化屏幕显示,适合绘制到控件上...5.1 QPixmap:屏幕显示优化 QPixmap 是专门为屏幕显示设计的绘图设备,与系统显示硬件紧密相关,显示效率高。其核心特性: 支持直接加载图片文件。...示例:使用 QPixmap 绘制图形并保存 // widget.cpp #include "widget.h" #include #include QPixmap> Widget

    35210

    Qt入门系列(三)

    现在要实现两者同时移动 自己输入空间查找想要的信号和槽函数Public Slots,如子类中没有,查找父类的槽函数 在sw.cpp中添加代码: //QSpingBox移动,QSlider跟着移动...(":/data/05.pgm")); } 8.8.绘图设备 8.8.1.QPixmap 直接保存到本地 画一个圆保存在本地 在w.cpp中添加代码: Widget::Widget(QWidget...,并改变像素值 加载资源图片不能再熟悉类,省略 在w.cpp中添加代码 void Widget::paintEvent(QPaintEvent *) { QPainter painter...,别人打不开啊,只能用我的代码打开 在w.cpp中添加代码: Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::...file.close(); }); } 结果显示: 9.2.QFileInfo信息流 需求:读取文件的属性,比如后缀名,修改日期等 在1中代码基础上添加: Widget::Widget(QWidget

    1.5K40

    65.QT-UDP组播实现多人共享桌面(同时支持收发显示)

    这里我们只是简单学习下通过udp组播如何共享桌面demo.帧率上面比较低,毕竟没有用推流,只是简单的将图片发送到组播地址,而加入组播地址的客户端去取数据显示而已....自动检查帧率和每帧图片字节大小 代码中使用了多线程和队列协助QWidget显示. 当接收共享时,会在线程中不停接收数据,直到接收到完整的一份数据时,则放到队列中,然后供QWidget提取数据....当开启共享时,则在线程中抓取桌面数据,实时发送,并备份一个QPixmap供QWidget显示数据 代码和可以直接运行的程序都放在群里,需要的自行下载: ?...QString("%1").arg(0)); } void Widget::onUpdateShow() { bool getOk = false; int size = 0; QPixmap...) { QPainter painter(&pix); painter.setRenderHints(QPainter::Antialiasing); QPixmap

    2.5K33

    图片浏览器?Qt也可以实现!

    其实总的思路可以分为两步走: (1)浏览图片文件并显示为列表; (2)显示图片。...01 实现环境和UI设计 环境:vs2008+Qt4.8.6+C++ 02 类的设计和说明 具体需要实现以下小步骤: lineEdit_currentPath里输入当前文件夹路径(如“C:/”),在listWidget...①QString currentDirPath:这个保存当前文件夹的绝对路径,用于初始化图片QPixmap; ②int numofPic:该变量统计当前文件夹下的图片总数量,用于操作“上一张”“下一张...03 浏览图片文件并显示为列表 这部分的实现与Jungle在之前的一篇文章文件浏览器?Qt也可以实现!设计和实现思路路一样,本文不再赘述。...(pic); } } ////显示上一张图片 void PictureBrowser::showLastPicture() { ///获取当前图片在当前文件夹中的索引 int currentIndex

    1.4K10

    《突破控件限制:用Qt绘图API解锁高级界面定制能力》

    绘制简单图片 新建项目,并且创建 qrc 文件,引入图片,如下: 在 “widget.h” 头文件中声明绘图事件,然后在 “widget.cpp” 文件中重写 paintEvent() 方法,代码如下:...重叠 五、特殊的绘图设备 前面的代码中我们是使用 QWidget 作为绘图设备,在 Qt 中还存在下列三个比较特殊的绘图设备。...QPixmap QPixmap 核心特性: 使用 QPainter 直接在上面进行绘制图形。 通过文件路径加载并显示图片。...QImage QImage 的核心特性: 使用 QPainter 直接在上面进行绘制图形。 通过文件路径加载并显示图片。 能够针对图片进行像素级别的操作(操作某个指定的像素)。...通过文件路径加载并显示图片。 能够记录 QPainter 的操作步骤。 独立于硬件的绘制系统,能够在不同系统之上提供⼀致的显示。

    75310

    Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇。

    如何获取已经登录过的账号信息,并完成自定义下列框 3. 从下拉列表框删除账号 4. 文本框显示正确内容 ---- 一....为了方便,这里使用文本保存,如果想使用ini保存,可以参考这篇:QT学习笔记之读取INI文件 文件存放的位置,这里使用绝对路径是不明智的,应当使用相对地址,思路是获取可执行文件的目录,然后在其目录至上创建用户文件...如何获取已经登录过的账号信息,并完成自定义下列框 这一步相对于如何保存信息已经简单了许多, 只需要将头像和文件内容显示在下拉列表框即可。...,当初给每个按钮标记的数字是不会变的,但是当我们删除列表中的一个item之后,列表中的其他item会自动排序 //所以无法单靠当初标记的数字来进行简单删除,我们可以借助一个vector,将标记的数字存放...文本框显示正确内容 在上一篇说过,图中的账号文本框其实是由文本框加下拉列表框构成,如何在改变下列列表框的同时修改登录界面所显示的内容呢?

    3.7K41

    Qt编写自定义控件33-图片切换动画

    一、前言 在很多看图软件中,切换图片的时候可以带上动画过渡或者切换效果,显得更人性化,其实主要还是炫一些,比如百叶窗、透明度变化、左下角飞入等,无论多少种效果,核心都是围绕QPainter来进行,将各种动画效果对应的图片的区域动态计算并绘制出来...远超qwt集成的控件数量。 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。...自带activex控件demo,所有控件可以直接运行在ie浏览器中。 集成fontawesome图形字体+阿里巴巴iconfont收藏的几百个图形字体,享受图形字体带来的乐趣。...所有控件最后生成一个dll动态库文件,可以直接集成到qtcreator中拖曳设计使用。 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。...七、SDK下载 SDK下载链接:https://pan.baidu.com/s/1A5Gd77kExm8Co5ckT51vvQ 提取码:877p 下载链接中包含了各个版本的动态库文件,所有控件的头文件,

    2.4K00

    【Qt】QWidget属性2

    QGuiApplication::setOverrideCursor(const QCursor& cursor) 设置全局光标的形状,对整个程序中的所有widget都会生效,会覆盖setCursor设置的内容...我们就以这张图片为光标吧,哔哩哔哩的看板娘(不知道是22还是33~) 依旧是创建Qrc文件 创建qrc文件成功,如果你不知道如何创建qrc文件,可以去看笔者上一篇介绍qrc的文章。...#include "widget.h" #include "ui_widget.h" #include QPixmap> Widget::Widget(QWidget *parent) : QWidget...,加载自定义光标图片 pixmap = pixmap.scaled(64,64);//缩放图片为64*64的尺寸 //创建QCursor对象,并指定热点为(2,2)坐标位置 //...光看文字还是太抽象了,下面来用看演示吧~ 首先,我们双击formfile的ui文件,拖动4个按钮到中间的框内。

    70410

    Qt浅谈之七:抽奖软件(可显示图片和姓名)

    三、详解 1、文件规则 (1)可以点击说明查看规则。 (2)新建抽奖人员.txt文件,将抽奖人员名单写入,点击浏览按钮打开txt文件所在的目录。...打开软件会读取txt文件人员名单,每次会删除已经中奖人员的文字,注意所有人员都中奖后这个文件会变成空文件,但只能程序退出后才回写到文件中。...也有coder会新开启一个线程,该线程中处理图片文字的显示,并设置标志位来停止线程的运行。主要考虑到线程不太容易控制时间,只能添加sleep语句。...如今仍很难适合所有的图片,因为图片缩放是根据label比例缩放的,只能适合一定长宽比例的图片,所以还得定制者自己选择图片并设置程序中的缩放比例。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.4K20

    Qt编写安防视频监控系统5-视频回放

    我这个上面为了简化处理,并未加入GB28181的处理,交由用户自己去处理,我只是单纯的播放个视频文件作为demo,提供视频回放控件,用于标识每个通道,某些时间段有时间,提供游标用于快速定位视频位置,直接跳过去...可在配置文件更改左上角logo+中文软件名称+英文软件名称。 封装了百度地图,三维切换,设备点位,鼠标按下获取经纬度等。 堆栈窗体,每个窗体都是个单独的qwidget,方便编写自己的代码。...左侧右侧可拖动拉伸,并自动记忆宽高位置,重启后恢复。 双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。...录像机管理、摄像机管理,可添加删除修改导入导出打印信息,立即应用新的设备信息生成树状列表,不需重启。 在pro文件中可以自由开启是否加载地图。...视频播放可选四种内核自由切换,vlc+ffmpeg+easyplayer+海康sdk,均可在pro中设置。 高度可定制化,用户可以很方便的在此基础上衍生自己的功能,支持linux系统。

    1.6K40

    节约时间,珍惜生命,手写一个验证码图片标注程序

    然后通过os模块的listdir()方法,获取文件夹下所有的文件,对其进行遍历,提取出图片文件,将这些图片文件添加到一个新的列表中。...self.img_view.setPixmap(QtGui.QPixmap.fromImage(self.image)) 接着再设置文本输入框的内容、获取文本输入框的焦点并全选文本输入框的内容: # 设置...) 这样,就实现了选择目录,并显示目录中的第一张图片的功能。...切换下一张图片 要切换下一张图片,我们首先需要将当前显示的图片重命名为文本输入框中的内容: # 下一张图片def next_img_click(self): # 修改当前图像文件名 new_tag..., QtWidgets.QMessageBox.Ok ) 接下来,将图片当前索引变量值加1,通过这个索引值获取到下一张图片的文件名,再按照之前的方式将其读取为图像并显示在标签占位控件上

    2K20

    Qt Designer基本控件介绍——Containers(容器)

    就是将组合框内的控件标识为一组控件来使用,即一次只能选择其中的一个控件:如性别选择,当选择男时,女不被选择;当选择女时男不被选择 clicked(): 点击QGroupBox控件时,发射该信号; toggled...(): 当QGroupBox的状态发生了改变时,发射该信息 import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QPixmap...toolbtn_init(self): # 7 # 注意路径为'images/xxx.ico,所以需要在项目中新建一个images文件夹来存放这些图片文件...QStackedWidget控件不能在页面之间进行切换,它与当前选中的QListWidget控件中的选项进行连接 currentRowChanged信号 import sys from PyQt5.QtGui...它是放置在QMainWindow中的中央窗口小部件周围的停靠窗口小部件区域中的次要窗口。QDockWidget由一个标题栏和内容区域组成。标题栏显示浮动窗口小部件窗口标题,浮动按钮和关闭按钮。

    6.8K41
    领券