首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

结合 Qt 信号槽机制的 Python 自定义线程类

1.2 PySide2 与 PyQt5 的细微差异 由于 PySide2 与 PyQt 高度兼容,对于开发者来说,除了在头部引包时将 “PyQt5” 改成 “PySide2” 外,其他的代码基本无需修改...PyQt5 的自定义信号类名为 pyqtSignal,而 PySide2 的类名为 Signal。 PyQt5 的槽函数装饰器名称为 pyqtSlot,而 PySide2 的装饰器名称为 Slot。...在 PyQt5中,自定义信号的如果要传参,则必须传入指定类型的参数,不能传入 None 值,这一点是非常让人头疼的,而在 PySide2 上这一点就做得非常人性化。...在 QWebEnginePage 控件中的 runJavaScript 方法,PyQt5 可以传入回调函数来获取或处理执行 JavaScript 代码后的结果,而 PySide2 中却没有这个功能,也就是说...总结 信号与槽的机制是 Qt 的核心思想,也是 Qt 中最值得为人称赞的地方。

4.6K31

推荐一个Qt的Python组件库

虽然Qt提供了不少现成的组件,但是在Python中使用PyQt5或PySide2进行图形界面程序开发的过程,还是免不了要根据自己的需求组合一些小部件以形成新的自定义组件。...安装 直接使用 pip 工具进行安装即可,命令如下: pip install qtwidgets 密码输入框 在PyQt5和PySide2中,我们一般使用QLineEdit()小部件,通过设置它的EchoMode...属性来让输入的文本显示星号而非明文,代码如下所示: # encoding:utf-8 from PySide2 import QtWidgets import sys class Widget(QtWidgets.QWidget...渐变器组件创建之后,我们可以在图形界面上进行编辑: 在渐变器上双击可以添加标记点,其颜色与右边的颜色一致; 拖动标记点,可以改变渐变色的范围和位置; 右键单击新建的标记点,可以编辑标记点的颜色; 双击新建的标记点...除此之外,所有这些组件也都是基于Qt现有组件进行的封装,学有余力的小伙伴还可以查看一下它们的源码实现,以加深对Qt各个原生组件运用的理解。

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

    十个顶级Python 图形界面(GUI)框架供你选择

    PyQt5 PyQt包是围绕Qt框架构建的,Qt框架是一个跨平台框架,用于为各种平台创建大量应用程序。 与Qt5框架类似,PyQt5也是完全跨平台的。...当然,也存在通过代码创建这些元素的选项,允许您轻松创建小规模和大规模的应用程序。Python的模块化以扩展的形式延伸到PyQt5,为您提供了比GUI构建多得多的特性。...如果您喜欢这里看到的内容,可以使用“pip install PyQt5”命令尝试一下PyQt5。 2....PySide2 PySide2是由提供给我们广泛流行的应用开发框架Qt的同一家公司构建的,仔细观察,你会遇到术语“Qt for Python Project”,这只不过是移植PySide来支持Qt5的任务...,而框架本身现在被称为PySide2。

    18.1K11

    Qt For Python按钮控件使用实例

    在之前的文章中,我们介绍了PyQt教程,不容错过5和PySide2中主窗口控件MainWindow的使用、窗口控件的4中基础布局管理。...从本篇开始,我们来了解一下PyQt5和PySide2中基础控件的使用,其中包括: 按钮控件; 文本输入控件; 单选控件; 文本标签控件; 多选控件; 列表控件; 等图形界面开发中常用的控件,今天我们来介绍按钮控件...创建一个按钮 在PyQt5/PySide2中,按钮控件名为QPushButton(),其位于QtWidgets子模块之下。...在创建按钮控件之前,我们先来创建一个包含布局层的图形界面主窗口,作为按钮控件的容器,代码如下所示: # coding:utf-8 from PyQt5 import QtWidgets import sys...按钮点击事件 对于按钮来说,最常见的还是点击事件,在PyQt5和PySide2中,已经内置了点击事件,我们可以直接对其进行调用,代码如下所示: from PyQt5 import QtWidgets,QtGui

    4.2K10

    投票结果来了!「图形界面开发」教程力压 Django 开发实战,还有这些信息……

    在这个投票里面,一共包含了两项内容: 视频直播平台的投票; 视频内容的投票; 在「视频直播平台」的投票中,41% 的投票选择了「其他平台,留言说明」,留言中绝大多数推荐的是 B 站。...其中在「图形界面开发」中有很多的分类,Python 的图形界面开发框架就有 Tkinter、PyQt5、PySide2、WxPython、Kivy、BeeWare 等多种。...所以,基本上,我们会优先以 PyQt5 和 Kivy 作为两个核心的图形界面开发框架进行课程的讲解。...而在「Django 开发」中,则会以 Django 传统的 MTV 架构作为快速入门之选,在这里对项目的结构、构成和逻辑进行梳理,然后通过构建 RESTFul 风格的 API 接口,与多端进行交互(VUE...从最初的博客,到现在的公众号; 从最初的爬虫文章,到后来的PyQt5文章; 州的现在一直以来都是以实战带讲解,让读者在实例中快速理解和掌握一个或多个开发技能和技巧。

    77050

    设计了一个简易的Python GUI界面

    界面框架设计,python当前有3种实现方式,分别是Tkinter、wxWidgets、PyQt5或Pyside2,三种方式各有利弊,但从直观便捷的角度看,PyQt5或Pyside2更具优势。...这二者较为相似,本次设计中选用Pyside2。...几个控件,在Pyside2的Designer模式,直接设计控件及布局,主要是选用了comBox作为实现平台、常用城市列表的下拉框实现,用lineEdit实现关键词的输入,用pushButton实现查询和清空的按钮功能...02 核心代码 求职爬虫类:主要是定义一个爬虫类,参数包括3个关键字:城市,职业和爬取页码(便于后续及时显示),尔后分别定义3个招聘平台的爬虫程序,不同的爬虫程序中根据传入的关键参数形成目标url,即可解析获得相应的招聘字段信息...(jobinfo) except: pass return jobs 求职助手类:定义了一个助手类,初始化函数中首先通过pyside2

    2.1K20

    fbs: 让我们更容易的打包和部署python工具

    能方便他们能在无python情况下去使用,也能做到一些简单代码的保护和提高一些运行速度。...今天我要向大家分享一个好用的开源库叫fbs,它的打包核心虽然也是用的pyinstaller但是它为我们解决了打包和部署的痛点 与其他解决方案不同,fbs使打包exe变得容易。...然后通过虚拟环境中的pip安装fbs和PyQt5, 注意我们需要指定Qt的版本,其他版本我在测试的时候有些bug pip install fbs PyQt5==5.9.2 你也可以使用PySide2...pip install fbs PySide2==5.12.0 开始一个项目 执行以下命令以创建新的fbs项目: fbs startproject 下面是一个新项目的基础结构 我们通过下面命令就可以启动界面进行测试...,也是用了fbs,算一个比较完整的案例 是根据鬼猫猫大佬写的NukeStudio(Hiero)的导表工具逻辑写的一个独立版本,方便给我的制片朋友们去使用(制片不熬夜系列:Hiero里花式出 Excel)

    1.7K10

    深入思考 PyQt 多线程处理

    其实你如果仔细理解的话,你会发现这个例子所做的功能更像是一个定时器:每隔一定时间重复做一个固定的动作。...1.2 复杂的且需要异步与主线程进行通信的情况 是的,当你的子线程所需要处理的代码逻辑比较复杂时,且需要异步与主线程进行通信时,这种方案就能够发挥其重要的应用价值了。...它从哪里来的?它是干嘛的? QThread 其实是 Qt 的一个专门用于处理多线程的类。在 Python 语言中,QThread 可以来自于 PyQt5,也可以来自于 PySide2。...我特意去对比了一下,PyQt5 的 QThread 比 PySide2 的足足多了13个方法,真的是扶不起的 PySide2 啊~~不过即使 PySide2 如此不争气,我也还是喜欢它,没别的理由,喜欢就是喜欢...哎,算了,我还是用 PyQt5 吧,PySide2 居然连个 finished 信号都没有,真不知道该怎么说它了,希望它能够好好反省一下自己。

    7.7K60

    python 利用 PySide2&PyQt5实现 PDF 阅读器

    很早之前想用 python 结合 PyQt5 实现一个 PDF 阅读工具,但是一直想不到如何预览PDF 文件的内容。...在网上搜索了很多答案,发现最多的就是 PyQt5 从零开始制作 PDF 阅读器 这边文章,看内容也就是实现了一个界面外观,核心的预览效果并没有实现,后面就是引导关注公众号的。 ? ?...---- 但是觉得这样还是挺 low 的,能不能利用 PySide2 做一个 UI界面呢,类似一个管理软件。...整了好久没成功,突然想要 PySide2 内置了一个浏览器引擎, 可以打开网页,哪能不能利用UI界面打开之前的网页,实现一个类似的管理软件的。...也没有报错,找了好久答案,最终找到一个觉得可行的方案,说是需要配置PySide2的浏览器插件,并且对PySide2也有要求,需要5.15以上的版本。

    2.9K40

    用PyQt5做图形界面(二)文本组件:QLabel、QLineEdit、QTextEdit

    今天介绍文本相关的三个组件:QLabel、QLineEdit、QTextEdit。 三者的区别是:QLabel一般用来显示提示性的文本或者说明,用户不可以直接修改内容。...而QTextEdit用来收集用户输入的一大段文字。 需求: 做一个BUG提交的界面,用户可以输入BUG的标题和描述,点击按钮后,获取用户填写的信息,并显示在终端里。...代码实现: 在《用PyQt5做图形界面(一)Hello world》的基础上,添加几个组件: # BUG标题 label1 = QLabel() label1.setText('Bug Title...总结: 在学习和使用pyqt5基本组件时,可以查阅pyqt5的官方类库(https://doc.qt.io/qtforpython-5/PySide2/QtWidgets/index.html#module-PySide2....QtWidgets),找到相类组件可操作的函数列表,并阅读相关函数的说明。

    2.7K10

    【python】tkinter组件,from Tkinter import * 与 import Tkinter 的区别

    PyQt 组件在窗体上的定位 pack函数 tkinter常见事件类型 常见事件类型 事件属性 基本使用方法 from Tkinter import * 与 import Tkinter 的区别...PyQt和PySide2这两者最大的区别就是协议的不同,来自于不同的开发商,但其实这两个如果要修改并兼容的话,改动并不是很大,具体的可以参照Qt官方文档介绍 虽然PyQt发布的早,并且稳定,资料也比较多...,而PySide起步比较晚,直到2018年6月正式发布了PySide2的第一个版本,从0到1是最难的一步,后面就容易了,尤其发布的Qt 5.12 LTS释放了非常积极的信号,PySide2已经日趋完善,...又是亲生的,还有LGPL开源协议的加持,今后PySide2有足够的理由成为Python开发者使用Qt的第一选择。...PyQt5,对应Qt5版本,目前最新发布的版本是PyQt v5.13.0。

    3.2K20

    Python转换HTML为PDF方案合集,你中意哪种?

    功能十分完善,但是由于使用的渲染引擎是 Qt 的 WebKit,其没法对 ES6 的 JavaScript 代码提供支持,导致一些采用 ES6 编写的 HTML 页面渲染不出实际的效果来,导致州的先生最终放弃了它...Qt 的 Web 引擎 在 Qt5 中,Qt 使用新的 Chromium 内核代替了老旧的 WebKit 作为 Web 的渲染引擎。使得在 Qt 中进行可以现代化的浏览器开发。...借助于 Qt 的 Python 实现(PyQt5 系列 和 PySide2 系列),我们可以直接调用 Qt 中的 Web 引擎相关的接口。...其中 QtWebEngineWidgets 子模块中的 QWebEngineView() 类提供了 printToPdf 方法供我们将网页打印为 PDF 文档,所以基于此,我们也可以使用 PyQt5 或...PySide2 进行 HTML 转换 PDF,示例如下所示: ?

    4.2K32

    用Python做一个“以图搜番“的应用程序,再也不用愁动漫图片的出处了!

    文章目录 前言 PyQt5界面设计 使用Qt Designer绘制界面 视频部件插入小技巧 解码器下载 功能实现 trace.moe API介绍与视频 使用Nuitka打包成exe...PyQt5(或者PySide2):基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。缺点是库比较大,发布出来的程序比较大。...本教程使用的就是PyQt5,它是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x。本教程使用的是3.x。...反应到编译的Python代码中,其实就是增加了一句from PyQt5.QtMultimediaWidgets import QVideoWidget 在使用时,可以参考下面代码使用(仅仅是一个示例),...加到可以运行为止。记住把这些库文件单独另外找一个文件夹放着,后面需要复制到正式输出的文件夹中。

    2.3K10

    python GUI界面设计的那些事

    随着技术的发展,站在前人的基础上已经很容易做出这种带有界面的效果的程序了。 比如在 python 中就可以通过 tkinter 或者 pyqt5,pyside2等工具库实现。...在之前的写的一些课程案例中其实都已经有讲到怎样实现这种界面效果了,今天就不再重复了,主要来说说这种界面与我们的代码是如何连接到一起的。...2.将查询按钮与查询天气的方法绑定在一起,点击按钮后执行程序,返回我们要的结果。 3.将返回的效果显示到文本框内。(原来是显示在终端的) ---- 到这里相信你对界面程序应该有一些了解了。...其实界面就是由一个个独立的控件(按钮,文本框,滑动条等等)组合在一起形成的。 ? 如果对控件的作用进行分类,大致可以分为按钮类(一般是触发功能的), ?...学习时可以先逐一掌握每个控件的用法,之后在将其组合拼接,最重要的还是要理解界面与代码之间的关系。 (全文完) ---- 长按二维码,加关注!叶子陪你玩 欢迎转载,转载请注明出处!

    1.1K20

    Python GUI编程:如何运行第一个PySide2的窗体程序

    上一章节介绍了PySide2的安装以及如何去启动程序进行页面设计,并且将工具集成到pycharm的扩展工具中去,有2个地方写的不对,用的是pyuic工具,需要改一下,改成pyside2-uic.exe。...pycharm扩展工具中的配置也需要调整一下: ? 上一篇的配置写的是pyqt5的配置,这里主要采用PySide2进行学习。...修改为正确的配置后,鼠标选中ui文件,右键选择扩展工具中的pyside2-uic就可以转换为python脚本。 先看一下我画的一个简单的GUI页面: ?...还需要单独再写几行代码来加载页面窗口进行展示: run_postman.py: import sys from PySide2.QtWidgets import QApplication, QMainWindow...大家感兴趣的话,可以根据自己的喜好去调整页面设计,实现自己的测试小工具。

    89930
    领券