UI Datei laden in MacOS/Windows

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Slicey
User
Beiträge: 3
Registriert: Sonntag 3. Januar 2021, 16:57

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_()
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

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()
Antworten