Seite 1 von 1

UI Datei laden in MacOS/Windows

Verfasst: Montag 1. März 2021, 18:02
von Slicey
Hallo,

mit dem folgenden Code ist es leider nicht möglich die UI auf MacOS zu laden. Das Programm wird zwar ausgeführt, aber zeigt nichts an. Windows hingegen funktioniert. Woran könnte das liegen?

Code: Alles auswählen

import sys
import os
from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtUiTools import QUiLoader


loader = QUiLoader()

app = QtWidgets.QApplication(sys.argv)
main_window = loader.load("ui.ui", None)
main_window.show()
app.exec_()

Re: UI Datei laden in MacOS/Windows

Verfasst: Samstag 27. März 2021, 23:51
von Sirius3
Dateien werden immer relativ zum Arbeitsverzeichnis gesucht, und nicht zwangsläufig in dem Verzeichnis, in dem die Pythondatei liegt. Unter Windows startest Du wahrscheinlich das Python-Skript in dem Verzeichnis, in dem es auch liegt. Unter MacOs nicht.
Normalerweise referenziert man die ui-Datei relativ zur Pythondatei:

Code: Alles auswählen

import sys
from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtUiTools import QUiLoader
from pathlib import Path

UI_FILE = Path(__file__).parent / "ui.ui"

def main():
    loader = QUiLoader()
    app = QtWidgets.QApplication(sys.argv)
    main_window = loader.load(UI_FILE, None)
    main_window.show()
    app.exec()

if __name__ == "__main__":
    main()