PyQt 问题记录

1.现成的组件不一定线程安全,(包括且不限于数据的修改竞争,和一些组件的崩溃 )

对于PyQt 的线程使用,可能还需要更谨慎些

保存逻辑

python 复制代码
 @QuestionBox("保存/Save")
    def Save(self):
        okFlag=False
        errFlag=False
        WriteCmd={}
        for it in self.ModelList():
            WriteCmd.clear()
            WriteCmd={}
            try:
                if self.__trans__.__HTTP_EN__:
                    WriteCmd={"cmd":"write",**it[0].checkWrite()}
                    if len(WriteCmd) == 1:
                        continue
                    self.__trans__.cmd(WriteCmd)
                    it[0].clearCheckWrite()
                    self.DevLog(f"{WriteCmd} Successful")
            except (HttpError,urllib.error.URLError) as e:
                QMessageBox.critical(self,"保存失败/Failed","执行失败/Failed %s"%(e.args[0]))
                self.DevLog(f"{WriteCmd} Failed")
                it[0].clearCheckWrite()
                return False 
            if it[0].submitAll():
                okFlag=True
            else:
                errFlag=True
        return okFlag and not errFlag

完全可控的情况下,可以使用多线程 (组件之间的多线程,建议通过信号触发)

没有崩溃的情况
win10 64 位系统可以平稳运行

相关推荐
Edward.W21 小时前
PyQt6 打造苹果风格 ADB 图形化工具:adbUI 深度测评与实战指南
python·adb·pyqt
深蓝海拓2 天前
PySide6从0开始学习的笔记(十四)创建一个简单的实用UI项目
开发语言·笔记·python·qt·学习·ui·pyqt
深蓝海拓3 天前
PySide6从0开始学习的笔记(十) 样式表(QSS)
笔记·python·qt·学习·pyqt
深蓝海拓3 天前
PySide6从0开始学习的笔记(十三) IDE的选择
笔记·python·qt·学习·pyqt
感谢地心引力3 天前
【AI】加入AI绘图的视频封面快速编辑器
人工智能·python·ai·ffmpeg·音视频·pyqt·gemini
叶子丶苏3 天前
第十九节_PySide6基本窗口控件深度补充_剪贴板与拖曳功能(Drag 与 Drop) 下篇
python·pyqt
深蓝海拓4 天前
QT,sys.argv支持的核心内置参数
python·pyqt
Java Fans5 天前
用PyQt打造带动画、碰撞检测和键盘控制的小游戏
python·计算机外设·pyqt
深蓝海拓5 天前
PySide6从0开始学习的笔记(十一) QSS 属性选择器
笔记·python·qt·学习·pyqt