wake-up-neo.com

So erstellen Sie eine schöne Benutzeroberfläche für eigenständige Python-GUIs

Ich frage mich, ob ich eine schöne Benutzeroberfläche für meine Python-GUI erstellen kann.

Etwas wie das:

Something like that.Wie kann ich das machen ? Sollte ich JS-Frameworks wie Electron verwenden?

Or like this:

Or like that

How can i do that ? Should i use JS freamworks like Electron?

7
Eren Arıcı

Die besten Optionen, die ich für "hübsche" GUIs mit Python gesehen habe, ist Kivy, siehe die Galerie der Beispiele .

7
scotty3785

Es hängt davon ab, wo Sie diese Dashboards verwenden möchten. Für geräteunabhängige Anwendungen für IoT-Geräte (wie Raspberry Pi) würde ich Thingsboard als Open Source bevorzugen. Ansonsten ist Losant auch eine gute Wahl. Aber, wie bereits erwähnt, für nicht webbasierte Anwendungen Kivy / ist eine sehr gute Wahl.
Aber es kommt nur auf Ihren Fall an, was Sie wählen.

1
user8128255

Hi, es sieht so aus, als was du fragst, ist genau das, was der Pysciter anstrebt. Der einzige Nachteil ist, dass dies noch neu und möglicherweise etwas grün ist

https://github.com/sciter-sdk/pysciter

0
Daniel

Wie das, was die Leute bereits gesagt haben, hängt es davon ab, was Sie in Ihre GUI einfügen wollen und wo Sie es einfügen möchten. Alle anderen GUI-Programme, die von anderen vorgeschlagen wurden, fiel es mir jedoch schwer, sie herunterzuladen, und es war wirklich schwer zu lernen. Ich gehe davon aus, dass Sie bereits zuvor tkinter verwendet haben (was eine enttäuschende Ästhetik aufweist), und das Format der vorgefertigten Schaltflächen, der Eingabe und anderer Widgets lässt Sie nicht zu.

Was ich empfehle, ist, andere Bibliotheken und Software nicht herunterzuladen, sondern tkinter beizubehalten und nur Label-Widgets und die Bindefunktion zu verwenden, die detailliert hier ist. Mit der Bindefunktion können Sie eine Aktion (Funktion) aufrufen, wenn ein Mausklick, eine Tastatureingabe usw. über einem bestimmten Widget ausgeführt wird. Im Wesentlichen können Sie eine Schaltfläche erstellen, indem Sie die Mausklickaktion mit einem Etikett verknüpfen. Wenn Sie auf das Etikett in der GUI klicken, wird die Funktion aufgerufen. Jetzt haben Sie jedoch keinen hässlichen Rand um den Text und es sieht schöner aus. Ebenso müssen Sie das Eingabe-Widget nicht verwenden. Sie können ein Tastaturereignis über ein leeres Etikett binden. Anschließend können Sie in Ihrem Code den Buchstaben oder die Nummer der Tastatur, den Sie drücken, in die Stringvariable einfügen, die den Text im Etikett steuert. Die Liste geht weiter und weiter, aber im Wesentlichen würden Sie nur Beschriftungen, Frames und Canvas mit der Bindefunktion verwenden, um die GUI mit kühleren Elementen zu gestalten.

Hier ist ein Beispiel, wie ich ein besser aussehendes Radiobutton-Gitter erstellt habe .. enter image description here

Damit kann ich die Größe der Kreise an die Textgröße anpassen, die Farbe der ausgewählten und nicht ausgewählten Kreise ändern und den Abstand zwischen dem Text und den Schaltflächenkreisen ändern.

0
ZackBoi