Qt第二十八章:异步

所有的数据处理都应该通过异步进行

  1. 定义信号
    # 自定义信号源
    class QCustomSignal(QObject):
        signal_update_table = Signal(list)
        signal_get_token = Signal(str)
        signal_send_mq = Signal()

  2. 处理函数
        @Slot()
        def handle_search(self):
            def thread_function():
                user_info = get_user_info(token=self.token, username=self.lineEdit.text())
                # 发出信号
                custom_signal.signal_update_table.emit(user_info)
    
            # 异步访问API并发出渲染信号
            Thread(target=thread_function).start()
    
            # 绑定信号的处理函数
            custom_signal.signal_update_table.connect(self.handle_search_render)
  3. 渲染函数
        @Slot(list)
        def handle_search_render(self, user_info):
            self.user_info = user_info
            # QTableWidget句柄
            widget: QTableWidget = self.tableWidget
            # 设置行数
            widget.setRowCount(len(user_info))
            # 设置列数
            widget.setColumnCount(5)
            # 设置表头
            widget.setHorizontalHeaderLabels(["姓名", "组织", "手机号码", "操作", "检测"])
    
            # 设置表头宽度自适应
            widget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
            widget.horizontalHeader().setSectionResizeMode(0, QHeaderView.Fixed)
            widget.horizontalHeader().setSectionResizeMode(2, QHeaderView.Fixed)
            widget.horizontalHeader().setSectionResizeMode(3, QHeaderView.Fixed)
            widget.horizontalHeader().setSectionResizeMode(4, QHeaderView.Fixed)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文子阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值