吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1555|回复: 3
收起左侧

[已解决] 一个关于PyQt的问题

[复制链接]
沉默的菜鸟 发表于 2019-9-21 17:42
本帖最后由 沉默的菜鸟 于 2019-9-21 18:44 编辑

我写了一个关于读取亚马逊云aws的SQS里面的消息的带界面的PyQt小程序,但在获取完消息,刷新界面时发现界面没变化,不知道怎么办,求大佬帮忙。 JR}T0N9~HWH21OQIZ@F5.png

我用一个计时器与这个函数连接,当计时器timeout时,调用这个函数来刷新主界面,但主界面好像没变化


代码如下:
[Python] 纯文本查看 复制代码
def changeTable(self):
        global myQueue
        while not myQueue.empty():
            # 加锁
            lock.acquire()
            msg = myQueue.get()
            # 释放锁
            lock.release()

            msg = json.loads(msg)
            rowcount = self.tableWidget.rowCount()
            if 'Messages' in msg:
                data = dict(msg['Messages'][0])['Body']
                templist = str(msg['ResponseMetadata']['HTTPHeaders']['date']).split(' ')
                date = templist[3] + ' ' + templist[4]
                senderId = str(dict(msg['Messages'][0])['Attributes']['SenderId']).split('=')[1]
                item_1 = QTableWidgetItem(str(rowcount))
                item_2 = QTableWidgetItem(str(date))
                item_3 = QTableWidgetItem(str(senderId))
                item_4 = QTableWidgetItem(str(data))
                self.tableWidget.setItem(rowcount, 0, item_1)
                self.tableWidget.setItem(rowcount, 1, item_2)
                self.tableWidget.setItem(rowcount, 2, item_3)
                self.tableWidget.setItem(rowcount, 3, item_4)
                self.tableWidget.viewport().update()
                QApplication.processEvents()
            else:
                print('No message')

WDT_48IBITJDM9}@GICSQWF.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Xw丶小威 发表于 2019-9-21 18:25
在主线程中操作关于UI的动作。例如,增删改刷新tablewidget  否则会造成刷新不成功,界面假死等。何不试试呢
 楼主| 沉默的菜鸟 发表于 2019-9-21 18:36
Xw丶小威 发表于 2019-9-21 18:25
在主线程中操作关于UI的动作。例如,增删改刷新tablewidget  否则会造成刷新不成功,界面假死等。何不试试 ...

我这是通过信号与槽在主线程的操作,而且我调试的时候这些代码都是执行了的,但界面就是没变化,
 楼主| 沉默的菜鸟 发表于 2019-9-21 18:44
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表