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 位系统可以平稳运行

相关推荐
感谢地心引力18 小时前
【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
数据库·python·conda·pyqt·pyinstaller
AntBlack1 天前
PyQtInspect : 推荐一个好用的 PythonQT 界面 Debug 工具
python·pyqt
开心-开心急了4 天前
PySide6 文本编辑器(QPlainTextEdit)实现查找功能——重构版本
开发语言·python·ui·重构·pyqt
开心-开心急了5 天前
主窗口(QMainWindow)如何放入文本编辑器(QPlainTextEdit)等继承自QWidget的对象--(重构版)
python·ui·pyqt
AI视觉网奇6 天前
pyqt 播放视频遮罩显示 时钟
音视频·pyqt
开心-开心急了8 天前
PySide6 打印(QPrinter)文本编辑器(QPlaintextEdit)内容
python·ui·pyqt
CAE虚拟与现实9 天前
PyQt和PySide中使用Qt Designer
开发语言·qt·pyqt·qt designer·pyside
我要算BA10 天前
PyQt简单做一个GUI
pyqt
恋恋西风10 天前
PyQt python 异步任务,多线程,进阶版
pyqt·多线程·异步
开心-开心急了11 天前
PySide6实时检测剪贴板(QClipboard)并更新文本
python·ui·pyqt