【发布时间】:2023-04-11 07:27:01
【问题描述】:
所以我有一个一般性问题。当您使用 pyuic 将 .ui 文件转换为 .py 文件时,在 .py 文件的顶部会显示:
警告!对此文件所做的所有更改都将丢失!
严重吗?对文件所做的更改将如何丢失?
很抱歉,我意识到这不是一个聪明的问题,但我只是想确定这是关于什么的,并且之后它不会包含任何内容!
【问题讨论】:
标签: qt user-interface pyqt
所以我有一个一般性问题。当您使用 pyuic 将 .ui 文件转换为 .py 文件时,在 .py 文件的顶部会显示:
警告!对此文件所做的所有更改都将丢失!
严重吗?对文件所做的更改将如何丢失?
很抱歉,我意识到这不是一个聪明的问题,但我只是想确定这是关于什么的,并且之后它不会包含任何内容!
【问题讨论】:
标签: qt user-interface pyqt
由于这是一个生成的文件,它是一个结果,而不是一个源。因此:
当您分发您的项目时,您不应该分发该文件。因此,无论您对文件做什么,都不会影响到您的客户。
每当您的项目被构建并且源 .ui 文件发生更改时,都会重新生成输出 - 并且您对输出文件所做的任何更改都会丢失。
【讨论】:
make 或cmake 并得到最终可以运行的东西(无论是用于调试的可执行文件,还是用于分发的安装程序)。
这意味着:您已使用 .uic 文件生成 .py 文件,因此如果您手动修改后者(即:创建类或添加注释等...)并随后重新通过 puic 生成一个文件,这些文件将丢失。 这就是为什么您应该创建一个 main.py 文件并将生成的 .py 文件导入其中,保持原始文件不变。 例如,如果在稍后阶段您需要添加一个按钮和一个标签,您可以通过 qdesigner 执行此操作,它会为您提供新的 .uic 文件,您可以创建一个 .py 使用 puic 和瞧,您的 gui 被修改,您的旧 .py 被新的擦除,但 main.py 中的所有内容保持不变。 希望这是有道理的..
【讨论】:
如果您已从 .ui 文件生成 .py 文件并且不会对 .ui 文件进行任何更改,则更改将持续存在。
【讨论】: