PyQt5 信号和线程

2024-01-30

我在 youtube 上观看了有关 PyQt4 信号的简短教程,但在运行一个小示例程序时遇到了问题。如何将从线程发出的信号连接到主窗口?

import cpuUsageGui
import sys
import sysInfo
from PyQt5 import QtCore

"""Main window setup"""
app = cpuUsageGui.QtWidgets.QApplication(sys.argv)
Form = cpuUsageGui.QtWidgets.QWidget()
ui = cpuUsageGui.Ui_Form()
ui.setupUi(Form)

def updateProgBar(val):
    ui.progressBar.setValue(val)

class ThreadClass(QtCore.QThread):
    def run(self):
        while True:
            val = sysInfo.getCpu()
            self.emit(QtCore.pyqtSignal('CPUVALUE'), val)

threadclass = ThreadClass()

# This section does not work
connect(threadclass, QtCore.pyqtSignal('CPUVALUE'), updateProgBar)
# This section does not work

if __name__ == "__main__":
    threadclass.start()
    Form.show()
    sys.exit(app.exec_())

信号必须在您的 ThreadClass 内部创建,或者之前创建,但当您在 ​​ThreadClass 内部发出信号时,最好在您的类内部创建它。

创建完成后,需要连接进度条功能。这是在类中创建和连接的信号的示例。

class ThreadClass(QtCore.QThread):
    # Create the signal
    sig = QtCore.pyqtSignal(int)

    def __init__(self, parent=None):
        super(ThreadClass, self).__init__(parent)

        # Connect signal to the desired function
        self.sig.connect(updateProgBar)

    def run(self):
        while True:
            val = sysInfo.getCpu()

            # Emit the signal
            self.sig.emit(val)

请记住,自 PyQt5 以来信号的样式已经改变:描述 http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html#old-style-signals-and-slots

如果你看过 PyQt4 的教程,那就不一样了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt5 信号和线程 的相关文章

  • 检查时间戳列是否在另一个数据帧的日期范围内

    我有一个数据框 df A 有两列 amin 和 amax 这是一组时间范围 我的目标是查找 df B 中的列是否位于 df A amin 和 amax 列中范围的任何行之间 df A amin amax amin amax 0 2016 0
  • Heroku 上的 Django 应用程序在一段时间后删除对象

    我编写了一个简单的 Django 问答论坛应用程序并将其部署在 Heroku 上 该网站的本地版本运行良好 但是 生产版本不会将问题 答案等存储超过几个小时 我决定坚持使用 Django 附带的 sqlite3 我预计该网站不会有太多流量
  • skpy 向包含用户提及的组发送消息

    我需要在发送给 Skype 群组的消息中提及特定用户 我可以使用 skpy 轻松发送消息 但不知道如何在消息中提及某人 sk Skype userid paasword SendMsgTo sk chats group id SendMsg
  • SQLAlchemy 在 MySQL 上使用什么列类型作为“文本”?

    我的总体用例是试图确定我是否可以编写一个与数据库无关的 至少支持 Postgres 和 MySQL 存储一些大数据作为原始文本 认为 500MB 作为粗略的理论上限 基于这个答案 https stackoverflow com a 2557
  • 如何更改 Python 函数的表示形式?

    gt gt gt def hehe return spam gt gt gt repr hehe
  • 使用 scikit-learn 在朴素贝叶斯分类器中混合类别数据和连续数据

    我正在使用 Python 中的 scikit learn 开发分类算法来预测某些客户的性别 除此之外 我想使用朴素贝叶斯分类器 但我的问题是我混合了分类数据 例如 在线注册 接受电子邮件通知 等 和连续数据 例如 年龄 长度 会员资格 等
  • 安装 Ta-lib 会产生 gcc 错误

    当我尝试在我的 mac 上将 Ta lib 作为全局包安装时 出现 gcc 错误 我收到以下错误 gcc Wno unused result Wsign compare Wunreachable code DNDEBUG g fwrapv
  • 如何实现带有 ([start ,] stop [ step]) 签名的 python 方法,即左侧的默认关键字参数

    由于在 python 3 X 中 build idrange 函数返回的不再是一个列表 而是一个可迭代的 一些旧代码在我使用时失败range 方便地生成我需要的列表 所以我尝试实现我自己的lrange像这样的函数 def lrange st
  • numpy 中用最少内存对上三角元素求和的最快方法

    我需要进行此类求和i
  • 导入错误:没有名为“tensorrt”的模块

    我使用 Debian 安装在我的虚拟机上安装了 TensorRT 如果我运行 dpkg l grep TensorRT 我会得到预期的结果 ii graphsurgeon tf 5 0 2 1 cuda10 0 amd64 GraphSur
  • argparse add_argument 别名

    有没有办法使用 argparse 创建别名 例如 我想做这样的事情 parser add argument foo parser add argument alias bar foo 也就是说 使用 bar应该相当于使用 foo 您可以简单
  • Pandas 使用 NaN 进行数据透视或重塑数据框

    我有这个数据框 我需要根据以下数据进行旋转或重塑frame col df frame 0 0 1 1 2 2 3 0 4 1 5 2 pvol 0 nan 1 nan 2 nan 3 23 1 4 24 3 5 25 6 vvol 0 10
  • Python 调试器是否会介入生成器?

    我目前正在使用 NetBeans IDE 和 Jython 2 5 1 当逐步调试我的项目时 一旦遇到生成器的迭代 调试器就会直接转到代码末尾 输出工作正常 但是一旦满足第一个生成器就无法进行逐步调试 这是所有 Python IDE 中 P
  • 使用存储的密钥作为环境变量

    我有一个秘密密钥存储在 GCP 的秘密管理器中 我们的想法是使用该密钥通过云功能获取预算列表 现在 我可以从代码中访问该密钥 但我面临的问题是我需要使用该密钥设置一个环境变量 这是我添加密钥的方式 如果您的本地目录中有该文件 但是还有其他方
  • 在类方法 Python 中调用多处理

    最初 我有一个类来存储一些处理后的值 并通过其他方法重用这些值 问题是当我尝试将类方法划分为多个进程以加速时 python 生成了进程 但它似乎不起作用 正如我在任务管理器中看到的那样 只有 1 个进程在运行 并且结果从未传递 我做了几次搜
  • Scrapy在页面上找不到表单

    我正在尝试编写一个自动登录的蜘蛛这个网站 https www athletic net account login ReturnUrl 2Fdefault aspx 但是 当我尝试使用scrapy FormRequest from resp
  • 在IPython笔记本中自动播放声音

    我经常在 IPython 笔记本中运行长时间运行的单元 我希望笔记本在单元完成执行时自动发出蜂鸣声或播放声音 有没有办法在 iPython 笔记本中执行此操作 或者我可以在单元格末尾放置一些命令来自动播放声音 我正在使用 Chrome 如果
  • 将 PySpark RDD 作为新列添加到 pyspark.sql.dataframe

    我有一个 pyspark sql dataframe 其中每一行都是一篇新闻文章 然后我有一个 RDD 来表示每篇文章中包含的单词 我想将单词的 RDD 作为名为 单词 的列添加到我的新文章数据框中 我试过 df withColumn wo
  • 使用 Python PuLP 混合整数规划的时间限制

    我一直在使用PuLP http pythonhosted org PuLP 解决我感兴趣的特定混合整数线性规划 MIP 但是 随着问题规模的增长 PuLP 花费的时间太长 我希望能够运行求解器一段时间 并在需要很长时间的情况下提前终止它 并
  • 使用自定义层运行 Keras 模型时出现问题

    我目前正在攻读学士学位论文FIIT STU https www fiit stuba sk en html page id 749 其主要目标是尝试复制和验证以下结果study http arxiv org abs 2006 00885 这

随机推荐

  • Json 字符串数组转为 Java 字符串列表

    我有一个返回字符串列表的网络服务 仅返回字符串列表 string1 string2 string3 我怎样才能把它转换成ArrayList
  • Linux 容器上使用 screen -x 命令时出现“必须连接到终端错误”

    我正在使用带有 Proxmox 4 的 Linux 容器 当我连接到 Ubuntu 16 04 容器时 pct enter
  • Java 和 Python 一起出现在单个 Google App Engine 项目中

    我目前有一个在 Google App Engine 上运行的 Java 应用程序 但我想添加 Python 模块的 SearchableModel 提供的功能 当然是搜索功能 是否可以在与 Java 代码相同的项目中运行 python 代码
  • Pyinstaller.exe 未产生预期结果

    这是我第一次使用 pyinstaller 在 Windows 机器上构建 py 的 exe 我已成功生成 exe 但是当我运行代码时 它不会生成我的代码应生成的 csv 文件 附带说明一下 当我在 IDE 中运行脚本时 它成功生成了我期望的
  • OpenGL 渲染器不适用于冰淇淋三明治

    您好 我正在使用 OpenGL ES 1 0 构建 Android 游戏 一切都工作正常 直到我的 Transformer 平板电脑更新为冰淇淋三明治 现在 任何使用 OpenGL 渲染的内容都不会显示在屏幕上 我环顾四周 发现了Textu
  • 后期绑定与多态性 - 有什么区别?

    我见过两者互换使用 但它们真的意味着相同吗 根据我的理解 多态性延伸了这样一个事实 即您可以通过子类的实例交换类的实例 而后期绑定意味着当您调用实例的方法时 类型决定调用哪个方法 子类 超类 维基百科有一篇关于此的非常好的文章 http e
  • Ajax woocommerce 在弹出窗口中跟踪订单,无需重新加载页面

    我通过短代码将订单跟踪放在弹出窗口中 但问题是单击并发送请求后 页面将重新加载并且弹出窗口关闭 我希望通过 Ajax 在同一个弹出窗口中显示请求的结果 并且不重新加载页面 我搜索了整个网络 但找不到方法 如果有人知道如何做到这一点 请指导我
  • 在 Swift 中创建 UIView 的副本

    因为对象是引用类型 而不是值类型 如果您设置UIView等于另一个UIView 视图是同一对象 如果您修改其中一个 您也会修改另一个 我有一个有趣的情况 我想添加一个UIView作为另一个视图中的子视图 然后我进行一些修改 并且这些修改不应
  • c# 更改AD密码Directoryservices

    我试图让下面的代码工作 问题是 有时可以 有时不可以 当失败时 会出现错误 0x800704F1 系统无法联系域控制器来服务身份验证请求 我想说大约 90 的情况都会失败 我尝试通过将其添加到 contexttype 后面来给它一个静态 D
  • 什么是“.”和 Windows 目录中的“..”?

    我正在编写一个程序来列出 Windows 目录中的所有文件 我只是使用提供的文件管理功能 但我对结果很好奇 Target file is The first file found is The next file found is The
  • 触发问题,更新面板不起作用?

    我创建动态 LinkBut ton 并将 LinkBut ton 的单击触发器添加到 UpdatePanel 现在 当我第一次单击任何一个链接按钮时 触发器运行良好 并显示我的选择 没有回发 之后 我单击其他 LinkBut ton 所有页
  • 哪种做法更好 - 全球导入或本地导入

    我正在 django 中开发一个应用程序 我怀疑在全局级别导入库是否比在本地 每个函数 级别导入库对内存或性能有任何影响 如果按功能或视图导入 则导入单独需要的模块可以节省空间 对吗 或者这样做有什么负面影响吗 您肯定已经注意到 几乎所有
  • Data.Map / Data.IntMap 是否存在 monad 实例?

    我有一个在 IntMap 上运行的算法 我认为最好以命令式的方式表达它 也就是说 我想说的是 在地图中查找值 X 如果它符合条件 则从地图中删除该值 循环直到地图中不再存在任何值 用两行递归来表达是相当简单的 但实际的算法有点复杂 涉及多次
  • 在 bash 中从 YAML 文件解析嵌套变量

    一个复杂的 yaml文件来自这个链接 https docs projectcalico org v3 3 getting started kubernetes installation hosted kubernetes datastore
  • Jmeter线程组中的RAMP UP

    我在 jmeter 中设置启动时遇到问题 我的测试场景如下所述 有3个线程组 Thread Group1 2 Users Ramp up 10 Thread Group2 3 users Ramp up 15 Thread Group3 5
  • 如何从子目录加载 Latex .sty 文件?

    我使用一些不属于 texlive 的 sty 文件 并希望将它们放在我的 main tex 文件夹的子目录中 我使用以下行来加载包 usepackage sty prettythesis 这是可行的 但是用 xelatex 编译 main
  • Ember数据:保存失去了belongsTo关系

    我有以下问题 带有选择字段的表单 用于选择帖子的类别 假设该帖子的类别为 100 在 Ember 检查器中 显示如下 category
  • 收缩网格项目就像 CSS 中的 Flex 项目一样

    是否可以像 CSS 中的 Flex 项目一样缩小网格项目 网格项目 container display grid grid gap 10px grid template columns repeat auto fill minmax 200
  • 使用 matlab/octave 将图像从 rgb 转换为 hsv 回 rgb

    我正在尝试将彩色图像从 RGB 转换为 HSV 进行更改 然后再转换回 RGB 作为测试 我编写此代码只是为了测试如何从 rgb 到 hsv 返回到 rgb 但是当我查看图像时 它只是显示为黑色 我缺少什么 PS我使用的是octave 3
  • PyQt5 信号和线程

    我在 youtube 上观看了有关 PyQt4 信号的简短教程 但在运行一个小示例程序时遇到了问题 如何将从线程发出的信号连接到主窗口 import cpuUsageGui import sys import sysInfo from Py