Seite 1 von 1

PyQt5 / PyQt6 Designer

Verfasst: Mittwoch 31. Dezember 2025, 11:42
von Knollo
Hallo in die Runde, ich habe mit dem PyQt6-Designer eine mainwindow.ui erzeugt.
Leider kann das Script unter Verwendung von PyQt5 nicht geöffnet werden:

Code: Alles auswählen

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5 import uic
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        # Laden der UI-Datei
        uic.loadUi('mainwindow_neu.ui', self)

        self.show()
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    sys.exit(app.exec_())
nicht geöffnet werden. Fehler:

Code: Alles auswählen

AttributeError: type object 'Qt' has no attribute 'QFrame::Shape::StyledPanel'
Da die Datei auf einem Raspi genutzt wird, muss PyQt5 verwendet werden und ich möchte derzeit PyQt6 auf dem Raspi nicht installieren.

Die Nutzung des PyQt5-Designers ist leider auch fehlgeschlagen, die Installation von

Code: Alles auswählen

pip install pyqt5-tools
wird mit der Fehlermeldung abgebrochen.

Code: Alles auswählen

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
Gibt es dafür eine Lösung?

Danke - Stefan

Re: PyQt5 / PyQt6 Designer

Verfasst: Mittwoch 31. Dezember 2025, 12:41
von __blackjack__
Die offensichtlichste Lösung wäre den Designer passend zur PyQt-Version zu verwenden. Das nächstliegende wäre IMHO heraus zu finden was der Unterschied zwischen den Designer-Dateien zwischen den beiden Versionen ist, und Code zu schreiben, der die 6er *.ui-Datei auf die 5er-Version ”rückportiert”, Da ist die Frage wie viel das betrifft. Jetzt nur dieses Attribut, oder alle möglichen Konstanten.

Edit: Ein QFrame im 5er-Designer mit frameShape = StyledPanel sieht so aus:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Frame</class>
 <widget class="QFrame" name="Frame">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>320</width>
    <height>200</height>
   </rect>
  </property>
  <property name="frameShape">
   <enum>QFrame::StyledPanel</enum>
  </property>
  <property name="frameShadow">
   <enum>QFrame::Raised</enum>
  </property>
 </widget>
 <resources/>
 <connections/>
</ui>

Re: PyQt5 / PyQt6 Designer

Verfasst: Mittwoch 31. Dezember 2025, 17:17
von Knollo
Danke, die Installation des PyQt5 - Designer ist leider fehlgeschlagen. Der Vergleich mit dem Script der Vorgängerversion zeigt die Unterschiede:

Code: Alles auswählen

: : Shape
: : Shadow
: : Orientation
: : LayoutDirection
: : Section
: : Frame
alle Vorkommen suchen und löschen, ist recht schnell gemacht und läuft jetzt. Dank an Strg+H :geek:

Danke - Stefan