使用QThread定期更新一个QTableWidget pyqt

2024-04-20

在我的应用程序中,我使用 API 调用获取记录,然后将数据动态添加到 QTableWidget。这是到目前为止我的代码片段:

class TriageUI(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_TriageWindow()
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.move(QtGui.QApplication.desktop().screen().rect().center()- self.rect().center())
        self.ui.setupUi(self)
        self.update_records()        

    def update_records(self):
        #items are the results from the API fetch
        items = json.loads(get_triage_queue(COOKIES, SERVER, PORT))
        rows = len(items['objects'])
        self.ui.tableWidget.setColumnCount(5)
        self.ui.tableWidget.setRowCount(rows)
        index = 0
        column = 0
        for j in items['objects']:
            for key, value in j.iteritems():
                f = QtGui.QTableWidgetItem(str(value))
                self.ui.tableWidget.setItem(index, column, QtGui.QTableWidgetItem(f))
                column = column + 1

但是,我希望能够定期(例如 15 秒后)对数据进行 API 调用,然后将结果中的任何新数据项添加到表中。我怎样才能做到这一点。

先感谢您。


这里有一个重复调用类成员函数的示例(这可能是您的update_records函数)使用PyQt4.QtCore.QTimer。有时问题的解决比我们想象的更容易。

注意功能start and stop。此功能使您可以随意启动和停止计时器。

from PyQt4 import QtGui as gui
from PyQt4 import QtCore as core


class Blinker(gui.QWidget):
    def __init__(self, parent=None):
        super(Blinker, self).__init__(parent)

        self.label = gui.QLabel(self)
        self.label.setFixedSize(200, 200)
        self.layout = gui.QHBoxLayout(self)
        self.layout.addWidget(self.label)

        self.timer  = core.QTimer(self)
        self.timer.setInterval(1000)          # Throw event timeout with an interval of 1000 milliseconds
        self.timer.timeout.connect(self.blink) # each time timer counts a second, call self.blink
        self.color_flag = True

    def start(self):
        self.timer.start()

    def stop(self):
        self.timer.stop()

    @core.pyqtSlot()
    def blink(self):
        if self.color_flag:
            self.label.setStyleSheet("background-color: blue;")
        else:
            self.label.setStyleSheet("background-color: yellow;")
        self.color_flag = not self.color_flag


if __name__ == '__main__':
    import sys
    app = gui.QApplication(sys.argv)

    w = Blinker()
    w.show()
    w.start()

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

使用QThread定期更新一个QTableWidget pyqt 的相关文章

  • Python Numpy Reshape错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试重塑 3D numpy 数组时遇到一个奇怪的错误 数组 x 的形状为 6 10 300 我想将其重塑为 6 3000 我正
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • Python函数组成

    我尝试使用良好的语法来实现函数组合 这就是我所得到的 from functools import partial class compfunc partial def lshift self y f lambda args kwargs s
  • 如何调试 numpy 掩码

    这个问题与this one https stackoverflow com q 73672739 11004423 我有一个正在尝试矢量化的函数 这是原来的函数 def aspect good angle float planet1 goo
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 烧瓶 - 404 未找到

    我是烧瓶开发的新手 这是我在烧瓶中的第一个程序 但它向我显示了这个错误 在服务器上找不到请求的 URL 如果您输入了网址 请手动检查拼写并重试 这是我的代码 from flask import Flask app Flask name ap
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • dask apply:AttributeError:“DataFrame”对象没有属性“name”

    我有一个参数数据框 并对每一行应用一个函数 该函数本质上是几个 sql queries 和对结果的简单计算 我正在尝试利用 Dask 的多处理 同时保持结构和界面 下面的例子有效并且确实有显着的提升 def get metrics row
  • 无法在我的程序中使用 matplotlib 函数

    我正在 Windows 10 中运行 Anaconda 安装 conda 版本 4 3 8 这是我尝试在 python 命令行中运行的代码 import matplotlib pyplot as plt x 1 2 3 4 y 5 6 7
  • 如何仅注释堆积条形图的一个类别

    我有一个数据框示例 如下所示 data Date 2021 07 18 2021 07 19 2021 07 20 2021 07 21 2021 07 22 2021 07 23 Invalid NaN 1 1 NaN NaN NaN N
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你
  • 我可以在 if 语句中使用“as”机制吗

    是否可以使用as in if类似的声明with我们使用的 例如 with open tmp foo r as ofile do something with ofile 这是我的代码 def my list rtrn lst True if
  • 更改用作函数全局作用域的字典

    我想做一个 purePython 的装饰器 其中一部分是能够有选择地禁止访问函数的全局范围 有没有一种方法可以以编程方式更改哪个字典事物充当函数的全局 外部作用域 因此 例如在下面我希望能够拦截对f in h并抛出错误 但我想允许访问g因为
  • 有没有办法拉伸整个显示图像以适应给定的分辨率?

    我最近一直在使用pygame制作游戏 遇到了一个小问题 基本上 我希望能够将屏幕上的整个图像 我已经传输到它的所有内容 拉伸到用户将窗口大小调整到的分辨率 我在 pygame 和堆栈溢出的文档中搜索了很多 但我似乎找不到答案 这可能吗 我的
  • 通过新数据更新绘图,而不是在 Jupyter 笔记本中制作新绘图

    我有一些问题 希望你能帮我解决 我需要使用下拉小部件创建交互式绘图 我可以在其中选择并绘制感兴趣的数据 我通过以下方式做到这一点 import plotly graph objects as go import ipywidgets as
  • 使用 Numpy 进行多维批量图像卷积

    在图像处理和分类网络中 一个常见的任务是输入图像与一些固定滤波器的卷积或互相关 例如 在卷积神经网络 CNN 中 这是一种极其常见的操作 我已将通用版本任务减少为 Given 一批 N 个图像 N H W D 和一组 K 个滤镜 K H W
  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d
  • 用 Beautiful Soup 进行抓取:为什么 get_text 方法不返回该元素的文本?

    最近我一直在用 python 开发一个项目 其中涉及抓取一些网站的一些代理 我遇到的问题是 当我尝试抓取某个知名代理站点时 当我要求 Beautiful Soup 查找 IP 在代理表中的位置时 它并没有按照我的预期执行操作 我将尝试查找每

随机推荐

  • 为什么 Scala 程序的编译速度非常慢?

    过去两个月我一直在使用 Scala 我还在一个小应用程序中使用 Play 框架 我观察到 即使对于打印 Hello World 的程序来说 编译也非常慢 为什么这么慢 有什么减少时间的技巧吗 您的情况下编译速度有多快 scalac 的速度受
  • 无法访问 GridView 中的 HyperLinkField 文本

    我有一个 HyperLinkField 定义如下
  • 在 vs 代码编辑器中隐藏代码块行

    我的所有代码上都有这些奇怪的行 它们似乎突出显示了代码块 我该如何关闭它们 我的是1 30版本 Link https ibb co z5Tt6t4 https ibb co z5Tt6t4 所以左边的白线 它们叫什么以及如何将它们关闭 您可
  • 识别不在另一个数据框中的记录

    我有一个像这样的数据框 data1 pd DataFrame a z 0 a y 20 b z 1 columns id1 id2 number data2 pd DataFrame a y 1 a y 1 b z 0 columns id
  • NLog 的线程安全性如何?

    Well 我等了好几天才决定发布这个问题 因为我不知道如何陈述这一点 结果写了一篇很长的详细帖子 不过 我认为此时向社区寻求帮助是有意义的 基本上 我尝试使用 NLog 为数百个线程配置记录器 我认为这会非常简单 但几十秒后我得到了这个异常
  • 埃拉托斯特尼筛法速度比较:Python 与 Julia

    所以我有一个用 Python 和 Julia 编写的 Eratosthenes 函数的小筛子 并且我正在比较运行时间 这是Python代码 import time def get primes n numbers set range n 1
  • 将缺失值 (NA) 替换为空白(空字符串)

    我有一个带有 NA 行的数据框 df data frame c classA NA classB t data frame rep A 5 rep NA 5 rep B 5 rownames df lt c 1 2 3 colnames d
  • 使用 Swift 3 在 Xcode 8 中构建适用于 WatchOS 和 iOS 的嵌入式框架

    我正在将最初用 Swift 1 编写的全 iOS WatchOS 1 应用程序移植到最新的 Xcode 8 WatchOS 3 Swift 3 我的应用程序有一个嵌入式框架 具有一些常用功能 用于编译和运行 watchkit 扩展目标和 i
  • 如何避免每次创建新的 javafx 项目时添加 vm 参数?

    我正在使用 e fx clipse 插件和 scenebuilder 在 STS 4 6 1 中创建 javafx 项目 每次创建新项目时 我都必须在运行配置中添加虚拟机参数 module path home path to javafx
  • Excel 数据透视表“显示为”值列中的差异

    当值显示为父列总数的百分比时 有没有办法让数据透视表自动计算两列之间的差异 现在我需要手动 但表格是动态的 竞争对手的数量可能会有所不同 功能看起来很简单 但在谷歌搜索后找不到它 See example picture below of w
  • 在 iOS 6 中,检查一个人是否登录了社交网络?

    有没有办法检查用户是否确实在操作系统中登录了 facebook 或 twitter 我想这样做的原因是依靠应用程序中的共享 例如使用 facebooks SDK 来共享 而不要求用户再次登录 我实际上认为代码 SLComposeViewCo
  • Apache Spark 警告“在 RowBasedKeyValueBatch 上调用溢出()”的含义

    我正在使用 Apache Spark 本地模式运行 pyspark 2 2 0 作业 并看到以下警告 WARN RowBasedKeyValueBatch Calling spill on RowBasedKeyValueBatch Wil
  • SSIS 包损坏,错误为 0xC00CE504

    我有一个损坏的 SSIS 包 并显示错误消息 由于错误 0xC00CE504 名称以无效字符开头 第 13 行第 2 列 无法加载 XML 当加载包并且文件无法打开或无法正确加载到 XML 文档时会发生这种情况 这可能是由于向 LoadPa
  • 部分彩色文本并使其在 Jetpack Compose 中可点击 [重复]

    这个问题在这里已经有答案了 对于 XML 中声明的视图 我们可以使用SpannableStringBuilder正如这里提到的https stackoverflow com a 4897412 9715339 https stackover
  • 已经运行的应用程序现在出现套接字错误 10013

    我在 VB NET 中完成了一个应用程序 该应用程序侦听特定的 UDP 端口并通过同一端口应答发送数据包的 IP 从几年到上个月 它都运行良好 现在当尝试回答由于套接字错误 10013 导致的崩溃时 我什至尝试了一个我知道它也可以工作的旧版
  • JavaScript 中的 FFMPEG 命令

    是否可以使用如下命令 ffmpeg i video 1920 mp4 vf 比例 640 360 video 640 mp4 hide banner在纯 JavaScript 中降低视频的分辨率 例如 我有一个下拉菜单 其中有标签 所以我想
  • JTextArea 组件中的 Unicode 支持 [重复]

    这个问题在这里已经有答案了 我制作了这个简单的程序 我想在 JTextArea 中显示 unicode 符文字符 u16e6 该符号显示在 JFrame 的顶部 但不在 JTextArea 中 我已将 JTextArea 的字体设置为与 J
  • 如何远程在BitBucket上创建存储库?

    我想在 Bitbucket 上使用 hg 命令从本地计算机创建存储库 而不是在 Bitbucket 上手动创建存储库 是否可以 我通过curl 命令使用REST API 执行了以下操作 gt curl k X POST user user
  • 如何正确确定Intel处理器的-march和-mtune?

    我目前正在从源代码构建一个对我来说性能至关重要的软件 因此 我想对其进行优化 以便在我的特定 Intel CPU 上运行 构建过程要求我设置 march 和 mtune 标志 如果在我的处理器节点上我使用 gcc march native
  • 使用QThread定期更新一个QTableWidget pyqt

    在我的应用程序中 我使用 API 调用获取记录 然后将数据动态添加到 QTableWidget 这是到目前为止我的代码片段 class TriageUI QtGui QMainWindow def init self QtGui QMain