Autovervollständigung für in Qt Designer angelegte Objekte

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
janosh22
User
Beiträge: 6
Registriert: Samstag 27. Dezember 2014, 13:06

Hallo liebe Community.

Ich habe vor ein par Tagen begonnen, mich mit Python/PyQt zu beschäftigen. Dank einiger hilfreicher Tutorials habe ich schon kleine Fortschritte gemacht.
Nun zu meiner Frage, die IDE z.B. PyCharm vervollständigt ja sehr schön eingegebene Schlüsselwörter bzw. Funktionen.
Ich habe mit dem Qt Designer ein einfaches Beispiel erzeugt und mit

Code: Alles auswählen

        self.ui = uic.loadUi('editor01.ui', self)
eingebunden. Warum werden die Objekt-Namen z.B. der QPushButtons von der Autovervollständigung nicht angezeigt. Ist das normal?

mfg janosh22
Ich verwende die IDE PyCharm 4.0, PyQt4, Python 3.4
BlackJack

@janosh22: Ja das ist normal. PyCharm analysiert halt nicht was in der UI-Datei steht und führt den Code auch nicht aus. Es wird auch andere Fälle in Python geben wo die IDE keine Vervollständigung liefert, weil man nicht alles durch statische Codeanalyse herausfinden kann bei einer dynamischen Programmiersprache.

Edit: Dort das Ergebnis als `self.ui` zu binden *und* `self` als zweites Argument zu übergeben erscheint mir übrigens unnötig redundant. Entweder Du greifst auf die Attribute über `self.ui` zu, dann braucht man `self` nicht zu übergeben, oder Du greifst über `self` auf die Attribute zu, dann ist `self.ui` aber überflüssig.
janosh22
User
Beiträge: 6
Registriert: Samstag 27. Dezember 2014, 13:06

@BlackJack: Danke für die schnelle Antwort.

das mit dem self.ui = hatte ich aus einem anderen Beispiel. In diesem wurde nicht die .ui-datei geladen sondern die mit pyuic kompilierte datei importiert.
Ich lass das dann weg.
Das heißt also, ich muß mir wie bisher die Objektnamen und Methoden einfach aus dem Qt Designer heraussuchen.

mfg janosh22
Ich verwende die IDE PyCharm 4.0, PyQt4, Python 3.4
Antworten