![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pyqt5
柯哀的眼
这个作者很懒,什么都没留下…
展开
-
Houdini制作pyside2插件崩溃原因
工具架添加新工具,把自己写的python界面代码导入进去主要是sys添加环境路径,使得houdini可以找到我们的插件然后reload是重新加载模块,这样就不需要每次都重新启动houdini查看结果了,其实不加也行我注释掉的地方也就是show显示窗口,虽然能显示,但有个bug,如果houdini刚打开直接点击插件会闪退,不知道为什么,如果打开等待10秒以后再点插件就不会闪退。。。经过测试,把show显示窗口的函数放进模块py文件里,而不是上面的界面里,这样可以避免窗口闪退的bug原创 2022-02-14 21:55:26 · 948 阅读 · 0 评论 -
PyQt多浏览页自由拖拽
QMouseEvent事件在鼠标拖出时或关闭时会断掉事件,所以需要用特殊方式让新窗体接受到事件我之前用Time每10毫米位移窗体,后来发现可以构造鼠标按下事件m_event = QMouseEvent(QEvent.MouseButtonPress, QCursor.pos() - self.pos(), Qt.LeftButton,Qt.LeftButton, Qt.NoModifier)self.grabMouse()#开启原创 2021-11-16 09:45:32 · 298 阅读 · 0 评论 -
QDockWidget重叠区域QTabBar在下方
QMainWindow里面有个setTabPosition可以更改标签页位置self.setTabPosition(self.你的控件.allowedAreas(), QTabWidget.North)这样就到上方了同时self.findChildren(QTabBar)可以获取到QMainWindow里面的标签页列表可以去除白色分割线获取到的标签页.setDrawBase(False)#去除Tabbar白色分割线注意多个页面会获取到多个,需要遍历一下另外下面的样式原创 2021-09-05 17:22:45 · 823 阅读 · 0 评论 -
QDockWidget重叠时标签页样式
QTabBar::tab { color: #eff0f1; border: 1px solid #282828; border-bottom: 1px transparent black; background-color: #323232; padding: 5px; min-width: 50px; border-top-left-radius: 2px; border-top-right-radius: 2px;}QTabBar.原创 2021-09-05 08:56:49 · 936 阅读 · 0 评论 -
PyQt 滚动条背景透明
self.setStyleSheet("QScrollBar {\ width: 10px;\ background: #003c3c3c;\ margin: 0px,0px,0px,0px;\ padding-top: 0px;\ .原创 2021-09-02 20:49:55 · 545 阅读 · 0 评论 -
PyQt QGraphicsItem节点编辑器
先上图这是一套开源的PyQt界面库,架构自己设计的,可以支持序列化保存加载。目前功能还不算完善。下面是地址:链接原创 2021-08-26 21:28:48 · 373 阅读 · 0 评论 -
UE4嵌入Python运行PyQt
相关链接UE4Python专栏一个大佬写的插件大佬插件文档如何UE4加载PyQt不崩溃上文说了怎么用UE4嵌入Python,成功以后发现一个问题,使用PyQt时候直接崩溃,尝试多线程、多进程无果以后找到了上述大佬写的插件。众所周知,网上能找到的都是虚幻自己带的python插件,但是这个插件不能被打包进游戏里面,如果想在游戏里面运行python就需要自己写。之前有个第三方的UnrealEnginePython插件地址,但是由于长时间停止更新,新版本已经编译不过了,但仍然有很高的参考原创 2021-08-26 16:50:11 · 1486 阅读 · 0 评论 -
PyQt QGraphicsView事件调用顺序
拖拽事件dragMoveEvent调用顺序由高到底依次为:1、QGraphicsView2、QGraphicsScene鼠标点击事件mousePressEvent调用顺序由高到底依次为:1、QGraphicsView2、QGraphicsScene原创 2021-08-23 16:11:05 · 408 阅读 · 0 评论 -
PyQt5 给图片换颜色
import PIL.Image as Imageimport colorsysIMAGE_TITLE = "C:\\Users\\26593\\Desktop\\BlueprintDemo\\examples\\Node\\images\\未标题-1_05.png"IMAGE_TITLE_OBJECT = Image.open(IMAGE_TITLE).convert('RGBA')def setImageColor(filename="",target_hue=0): # 输入文件.原创 2021-08-23 08:43:39 · 553 阅读 · 0 评论 -
PyQt5 突然崩溃
我在使用QGraphicsScene的时候频繁创建删除QGraphicsItem导致程序崩溃没有任何报错信息我是鼠标点击按钮创建一个QGraphicsItem,第一步应该限制点击的频率,防止鼠标快速连点导致一次性创建很多QGraphicsItem第二步是我点击按钮以后删除了那个QGraphicsItem,解决办法是不要频繁删除,最好保留着,移动到看不见的位置备用,等下次用的时候就不需要再创建了,这样可以节省性能,避免程序崩溃...原创 2021-08-18 16:57:53 · 1210 阅读 · 0 评论 -
PyQt5 QGraphicsItem无法被拖动
之前照着PyQt5的节点编辑器教程做,发现在重载QGraphicsView里面的鼠标事件以后节点不能被拖动了,尝试了N遍以后终于找到了一点蛛丝马迹首先,在QGraphicsView自定义类里面添加# 设置拖拽模式self.setDragMode(self.RubberBandDrag)#QRubberBand ScrollHandDrag RubberBandDragself.setAcceptDrops(True)其中设置拖拽模式是关键,下面是我的事件函数def mousePr原创 2021-08-14 20:05:56 · 1342 阅读 · 2 评论 -
PyQt5 QWidget无法显示的问题
让widget显示颜色的方法:self.setPalette(QPalette(QColor("#ffFF0000")))self.setAutoFillBackground(True) #自动填充背景 #ff 表示100%不透明 ffffff 表示16进制白色正确调用构造函数:class 你的类名(QWidget): def __init__(self,parent:QWidget=None): super(你的类名,self).__init...原创 2021-07-31 09:14:25 · 3283 阅读 · 0 评论 -
PyQt5从QLayout中获取绝对坐标
widget有俩函数可以获取绝对坐标mapToGlobal (QPoint) - 将窗口坐标转换成屏幕坐标; mapFromGlobal(QPoint) -将屏幕坐标转换成窗口坐标;原创 2021-07-30 17:50:54 · 722 阅读 · 0 评论 -
PyQt5 QGraphicsProxyWidget 尺寸问题
我的QGraphicsItem里面需要加QGraphicsProxyWidget才能装载QWidgetQGraphicsItem需要重载这个函数boundingRect才能设置尺寸self.setGeometry(0,0,widget,height)self.setFixedSize(widget,height)如果需要运行中改尺寸的话,要用上面的函数,如果用下面的函数就会无法改尺寸...原创 2021-07-29 19:47:03 · 435 阅读 · 0 评论 -
PyQt5 节点编辑器
BP_Scene.py 表示一个场景BP_SceneClipboard.py 场景的剪切板操作BP_SceneHistory.py 场景历史(撤销/重做)BP_Serializable.py 序列化BP_GraphicsScene.py 背景网格绘制BP_Node.py 节点基类 BP_ContentWidget.py 节点里面的小控件BP_Socket.py 节点的连接端 BP_GraphicsSocket.py 节点连...原创 2021-07-26 21:32:51 · 452 阅读 · 0 评论 -
Pyinstaller彻底解决打包过大的问题
标题有点吹牛,不过我夹带着标准库把Python的应用程序搞到了4.46Mb大小这个思路可以用在你的项目里面。方法一:可以用Brython 这是一个浏览器版的python,用js实现的,可以玩一玩方法二:魔改pyinstaller网上的方法都是创建虚拟机环境,尽量减少没用的依赖,可都忽视了python本身没用的依赖比如,你光写个hello world打包都有9兆那么我们可以先打包试一试pyinstaller -D demo.py这里先打包成文件夹,(因...原创 2020-10-30 09:39:15 · 12718 阅读 · 2 评论 -
PyQt pyinstaller去掉黑框的办法
其他方法网上有很多,我就不说了在使用pyinstaller打包的时候会生成一个.spec后缀的文件一般人都会使用这个文件进行二次打包但是如果第一次打包如下pyinstaller--pathsC:/Python38-32/Lib/site-packages/PyQt5/Qt/bin-F Main.py没有加-w的话,那么.spec后缀的文件里面就会console=True所以,无论以后再加上-w都不管用了,比如pyinstaller--pathsC:/Python38-3...原创 2020-10-26 16:31:20 · 1357 阅读 · 1 评论 -
pyqt全局鼠标事件/钩子
之前我们用RegisterHotKey实现了全局热键。今天我们来学习一下全局钩子的知识。来结束我这几天的研究。笔者用的是python3.6首先我们要明白一些关键的部分: 钩子分为线程钩子和系统钩子两种。 线程钩子是局部的,所以qt自带的事件已经可以实现了。我们来学习一下系统钩子的写法,因为系统钩子是全局的。ps.暂且原谅我这样描述。大概意思就是这样的,各位看官老爷们可以去百度详细的讲解。系统钩子原创 2017-12-11 22:00:33 · 3081 阅读 · 0 评论 -
pyqt的全局键盘热键
**pyqt或qt默认不支持全局鼠标事件和全局键盘事件。以下将介绍全局键盘热键的写法:**全局键盘事件需要调用win32 api的功能。首先说明python自带的pywin32并不完整,所以我们要直接调用系统win32dll。但是我还是要说一下pywin32的安装。1.网上的教程一般都用到了pyHook这个库。但是我用的python3,所以需要一些特别的步骤来弄出python3版的pyHook。ht原创 2017-12-09 23:09:31 · 6480 阅读 · 3 评论