pyqt

#新闻拍一拍# 伊朗黑客组织在攻击中利用 DNS-over-HTTPS 协议

折月煮酒 提交于 2020-10-04 22:22:59
伊朗黑客组织在攻击中利用 DNS-over-HTTPS 协议 伊朗黑客团体 Oilrig 成为已知首个在攻击中加入 DNS-over-HTTPS(DoH)协议的组织。卡巴斯基的分析师发现从今年 5 月起该组织开始使用名为 DNSExfiltrator 的工具。DNSExfiltrator 是一个开源应用,托管在 GitHub 上。 来源: solidot 拍一拍:这听起来可能有点嘲讽,非法活动更重视安全保密。 黑莓开源逆向工程工具 PE Tree,降低逆向复杂度 PE Tree 使得逆向工程师可以使用 pefile 和 PyQt5 在树状视图中查看可移植可执行(PE)文件,从而降低了从内存中转储和重建恶意软件的门槛,同时提供了社区可以建立的开源 PE 查看器代码库。该工具采用 Python 开发的,并支持Windows、Linux 和 Mac 操作系统。 来源: 开源中国 拍一拍:这对研究恶意软件并找出解决方案有帮助。不过比较罕见的是,这个居然是黑莓推出的,似乎很少听说它的消息了。 来源: oschina 链接: https://my.oschina.net/u/4346575/blog/4473290

如何在pyqt中通过OpenCV实现对窗口的透视变换

巧了我就是萌 提交于 2020-10-04 09:40:58
窗口的透视变换效果    当我们点击Win10的UWP应用中的小部件时,会发现小部件会朝着鼠标点击位置凹陷下去,而且不同的点击位置对应着不同的凹陷情况,看起来就好像小部件在屏幕上不只有x轴和y轴,甚至还有一个z轴。要做到这一点,其实只要对窗口进行透视变换即可。下面是对Qt的窗口和按钮进行透视变换的效果: 具体代码    1.下面先定义一个类,它的作用是将传入的 QPixmap 转换为 numpy 数组,然后用 opencv 的 warpPerspective 对数组进行透视变换,最后再将 numpy 数组转为 QPixmap 并返回; # coding:utf-8 import cv2 as cv import numpy from PyQt5 . QtGui import QImage , QPixmap class PixmapPerspectiveTransform : """ 透视变换基类 """ def __init__ ( self , pixmap = None ) : """ 实例化透视变换对象\n Parameter --------- src : numpy数组 """ self . pixmap = pixmap def setPixmap ( self , pixmap : QPixmap ) : """ 设置被变换的QPixmap """ self .

pyqt5 qgridlayout获取元素位置

北慕城南 提交于 2020-10-04 03:24:54
PyQt5中获取控件在QLayout布局中所在的行数列数 在使用 PyQt5 库编写界面程序的时候,想要获取布局中某个控件所在的行数和列数。在网上搜索方法无果后,通过查看 Qt 文档摸索出了一种方法,先记录下来。 先使用函数 PyQt5.QtWidgets.QGridLayout.indexOf(Widget) 获取控件Widget在Layout中的index,(如果在QGridLayout中没有找到Widget,函数会返回 -1) 再使用函数 PyQt5.QtWidgets.QGridLayout.getItemPosition(index) 得到Widget所在位置的信息,这个函数会返回一个tunple:(raw, column, rawSpan, columnSpan) 根据位置获取元素 QGridLayout.itemAtPosition(int row , int column ) 这里获取的是item,不是真正的子控件,还需要进一步获取,可能才能获取子控件 来源: oschina 链接: https://my.oschina.net/u/4417917/blog/4540938

使用pyqtdeploy部署PyQt5商业应用程序

a 夏天 提交于 2020-10-03 02:23:55
部署商业PyQt5应用程序可能是一个复杂的过程,原因有很多: 通常最好不要依赖已经安装在用户系统上的必备软件包。这意味着除了应用程序代码外,还需要包括Python解释器、标准库、第三方包和扩展模块以及Qt本身。 一些目标平台(例如iOS)对如何构建应用程序以将其包含在应用程序商店中有限制。 有必要阻止用户自己访问底层PyQt5模块。使用应用程序附带的模块开发新应用程序的用户将被视为开发人员,并且需要自己的商业PyQt5许可证。 所有上面这些问题的建议解决方案是使用pyqtdeploy。 什么是pyqtdeploy? pyqtdeploy是一个用于部署PyQt应用程序的工具。它支持部署到桌面平台(Linux、Windows和macOS)和移动平台(iOS和Android)。 PyQtDead通过使用PyQT应用程序的各个模块来冻结它们,然后将它们放置在QT资源文件中,QT资源文件通过Qt的RCC工具转换为C++代码。Python的标准库是以相同的方式处理的。 PyQtDead还生成一个Qt.Pro文件,描述所有生成的C++代码。Qt的qmake工具用于生成特定于平台的Makefile,然后生成单个可执行文件。然后可以使用进一步的Qt和/或平台特定工具将可执行文件转换为平台特定的可部署包。 pyqtdeploy要求安装PyQt5和pythonv3.5或更高版本。