Skip to content

Python3 - QT_QPA_PLATFORM

Python3
  • Nach meinem Umzug auf Ubuntu 21.04 hatte ich doch mit meinem VSCodium ein kleines Problem, was aber nervte 🙂 Hier ein Bild.

    Problem.jpeg

    Links ist mein Restic UI, wenn ich es aus dem Ordner aufrufe. Rechts der Aufruf aus VSCodium heraus. Wie man sieht, passt das "Design" nicht. Ich habe jetzt bestimmt zwei Tage ziemlich viel gelesen und ausprobiert und nichts funktionierte 😞 Ja, so was kommt vor. Aber auch auf einen kleinen Hilferuf bei Twitter meldete sich leider niemand. Also musste ich das selber lösen. Also heute noch mal ran an die Sache.

    Kurze Erklärung,. Auf meinem Linux Mint Cinnamon (X-System) hatte ich keinerlei Probleme. So mit war ich mir relativ sicher, das es irgendwas mit Wayland zu tuen hatte, aber was !? Die heutige Internetrecherche brachte mich dann auf diese Seite.

    Dort stolperte ich über das hier

    $QT_QPA_PLATFORM

    This controls how Qt apps run. It can be set to xcb for X11 or wayland-egl for Wayland.

    Über dieses QT_QPA_PLATFORM war ich schon öfter gestolpert, aber das stand immer was anderes und nichts funktionierte. Hier stand mal was anderes und zwar xcb und wayland-egl.

    wayland-egl getestet mit

    export QT_QPA_PLATFORM=wayland-egl
    

    Also, in VSCodium ein Terminal aufgemacht und dort eingegeben. Danach das Programm gestartet. Nix, immer noch nackig. Also testen wir das andere.

    export QT_QPA_PLATFORM=xcb
    

    Und zack, das Fenster sieht so aus wie es auf Ubuntu 21.04 der Standard ist.

    373375aa-f1a6-4f35-91bb-b81ec1a4fa11-grafik.png

    Ok, so weit war ich erst mal zufrieden. Das ist aber nur eine temporäre Lösung, weil nach einem Neustart usw. ist das wieder weg. Aber, auch dafür gibt es eine einfache Lösung. Wir editieren unser Profil.

    frank@frank-MS-XXXX:~/Downloads$ nano ~/.profile
    

    In diese Datei fügen wir ans Ende diese Zeile hinzu.

    # This controls how Qt apps run. It can be set to xcb for X11 or wayland-egl for Wayland.
    export QT_QPA_PLATFORM=xcb
    

    Abspeichern - Fertig! Nun startet das PyQt5 Programm mit dem richtigen "Design".

    Frank wieder glücklich 🤓

  • Nachdem ich ja mittlerweile schon lange weder auf Cinnamon bin, hatte ich nach einem Update von VSCodium wieder ein anderes Design. Ok, schauen wir rein.

    (venv) frank@frank-MS-7C37:~/restic-ui-public$ env | grep "QT"
    QT_ACCESSIBILITY=1
    QT_QPA_PLATFORMTHEME=qt5ct
    

    Wenn ich das auf

    QT_QPA_PLATFORMTHEME=gnome3
    

    ändere, sieht es wie auf meinem Linux Mint Cinnamon Desktop aus.

  • Python3 - pyqtSignal

    Python3
    1
    0 Stimmen
    1 Beiträge
    82 Aufrufe
    Niemand hat geantwortet
  • PyQt6 - QRegularExpressionValidator

    Python3
    1
    0 Stimmen
    1 Beiträge
    520 Aufrufe
    Niemand hat geantwortet
  • Restic UI - QThread

    Restic UI
    1
    0 Stimmen
    1 Beiträge
    110 Aufrufe
    Niemand hat geantwortet
  • Restic UI - User documentation

    Restic UI
    1
    0 Stimmen
    1 Beiträge
    239 Aufrufe
    Niemand hat geantwortet
  • Python3 - Umzug nach Fedora 34

    Python3
    1
    0 Stimmen
    1 Beiträge
    159 Aufrufe
    Niemand hat geantwortet
  • Python3 - String-Operatoren

    Python3
    1
    0 Stimmen
    1 Beiträge
    140 Aufrufe
    Niemand hat geantwortet
  • Python3 - Eingabeformular

    Python3
    3
    0 Stimmen
    3 Beiträge
    208 Aufrufe
    FrankMF

    Meine endgültige Lösung, zu mindestens im Moment 😉 , ist ein zweites Window. Das gefällt mir am Besten, komme ich zu mindestens im Moment einfach besser mit klar. Aber, eines der größten Probleme war für mich, wie aktualisiere ich die Liste im Hauptfenster!? Da habe ich doch etliche Stunden dran rum gefummelt....

    Hier nur mal das Layout

    ##################### # Layout ##################### self.formGroupBox = QGroupBox("Form layout") layout = QFormLayout() layout.addRow(self.label_1) layout.addRow(QLabel("Backup Name:"), self.input1) layout.addRow(QLabel("Repository:"), self.button3) layout.addRow(QLabel("Source:"), self.button4) layout.addRow(QLabel("Password:"), self.input4) layout.addRow(self.label_6) layout.addRow(self.button2) self.formGroupBox.setLayout(layout) self.setLayout(layout)

    Das mit dem SecondWindow ist aber was aufwändiger. Da mach ich dann mal einen eigenen Beitrag zu. Aktuell sieht das so aus.

    6c68c956-9127-438f-bc54-4dcef8e18f00-image.png

  • Python3 - zwei Webseiten als Empfehlung

    Python3
    1
    0 Stimmen
    1 Beiträge
    174 Aufrufe
    Niemand hat geantwortet