def compileui(fname, replace_class="QwtPlot"): uifile_text = open(fname).read().replace("QwtPlot", "QFrame") uic.compileUi( io.StringIO(uifile_text), open(fname.replace(".ui", "_ui.py"), "w"), pyqt3_wrapper=True, )
def create_ui(source, target): if isinstance(source, str): source = pathlib.Path(source) if isinstance(target, str): target = pathlib.Path(target) ui_files = [i for i in source.iterdir() if i.suffix == ".ui"] for ui_filename in ui_files: py_filename = ui_filename.with_suffix(".py") with (target / py_filename.name).open(mode="w") as fout: uic.compileUi(str(source / ui_filename), fout, from_imports=True) print(f"{py_filename.name} created in {target}.")
#%% from qtpy import uic #uic.compileUiDir("UserInterface") #uic.compileUi("RadioMainWindow.ui","RadioMainWindow.py") with open('RadioMainWindow.py', 'w') as fout: uic.compileUi('RadioMainWindow.ui', fout)
import glob import subprocess from os.path import basename from qtpy.uic import compileUi if __name__ == '__main__': for file in glob.glob("**/*.ui", recursive=True): compileUi(open(file, "r"), open("../ui/" + basename(file).replace(".ui", ".py"), "w")) for file in glob.glob("**/*.qrc", recursive=True): subprocess.call(["pyrcc5", '-o', "../ui/" + basename(file).replace(".qrc", "_rc.py"), file])