29 lines
		
	
	
		
			813 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			813 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import subprocess
 | 
						|
import sys
 | 
						|
from codes.common import clibs
 | 
						|
from pathlib import Path
 | 
						|
 | 
						|
UIC_CMD = "pyside6-uic"
 | 
						|
 | 
						|
 | 
						|
def single_uic(ui_path: str, py_path: str):
 | 
						|
    for file in Path(ui_path).rglob("*.ui"):
 | 
						|
        file_name = file.stem
 | 
						|
        ui_file = file
 | 
						|
        py_file = Path(py_path) / f"{file_name}.py"
 | 
						|
        cmd = [UIC_CMD, "-o", py_file, ui_file]
 | 
						|
 | 
						|
        print(f"Processing  {ui_file} -> {py_file}")
 | 
						|
        try:
 | 
						|
            subprocess.run(cmd, check=True, capture_output=True, text=True)
 | 
						|
        except subprocess.CalledProcessError as e:
 | 
						|
            print(f"转换失败: {ui_file}\n{e.stderr}", file=sys.stderr)
 | 
						|
 | 
						|
def main():
 | 
						|
    ui_path = clibs.base_path / "assets" / "ui"
 | 
						|
    py_path = clibs.base_path / "codes" / "ui"
 | 
						|
    single_uic(str(ui_path), str(py_path))
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    main()
 |