GUI Projekt: Datei auswahl mit radioButton.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Hallo Mitglieder,
Als aller erstes möchte ich mich bei Jankie für die großartige Hilfe im meinem letzten Thema/Beitrag bedanken, es hat mich weiter gebracht und ich konnte mein vorhaben realisieren! Vielen Dank !

Wie vorgehabt habe ich mein GUI Programm fürs erste fertig gestellt!
Jetzt fallen mir weitere Futures ein die ich gerne hinzufügen möchte, die wahrscheinlich ohne weitere Hilfe von euch nicht klappen werden :) !

1: Aber zuerst wollte ich wissen ob mein derzeitiger Script überhaupt richtig bzw. ohne Fremdschemen ich umgesetzt habe (obwohl er ja für mich Funktioniert) :?: .
z.B. hier >

Code: Alles auswählen

print(f'{output}'), (w.lineEditLINK.clear()), (w.lineEditBILD.clear()), (w.lineEditTITLE.clear()), (w.lineEditNAME.clear())
das kann man bestimmt auch zusammen fassen und oder abkürzen. Bin aber bisher nicht drauf gekommen.
2: Ich beschäftige mich derzeit mit radioButton. Ich wollte dass beim umschalten der radioButton der output in eine andere extra Textdatei geschrieben wird. Also ein paar verschiedene output-Textdateien und je nach Auswahl der radioButton_1, radioButton_2.... gewählt und geschrieben wird. Ist es realisierbar oder zu kompliziert?
Das GUI wird dann etwa so aussehen >
Bild
Viel Dank im Voraus!
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

In CodeCreator.Python.py wird immer nach dem Zeileendezeichen noch ein Leerzeichen ausgegeben; das sollte nicht sein.
Bei CodeCreator.v1.0.0.py steht ja in dem Code den Du per uic erzeugt hast drin, dass man die Datei nicht ändern sollte. Machst Du trotzdem. Ist in dem Fall eines Standalone-Programms vielleicht gar nicht so schlimm, dann solltest Du aber wenigstens aufräumen, damit es lesbar wird.
Das Problem kommt halt dann, wenn Du nochmal was an der Oberfläche änderst, weil Du dann alles nochmal neu schreiben mußt (bzw. richtig kopieren).
Konstanten stehen am Anfang der Datei (nach den Importen).
Man sollte kein Tuple erzeugen, wenn man es gar nicht braucht: was hast Du Dir bei der `print`-Zeile gedacht?
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

Sirius3 hat geschrieben: Dienstag 6. Oktober 2020, 14:46 In CodeCreator.Python.py wird immer nach dem Zeileendezeichen noch ein Leerzeichen ausgegeben; das sollte nicht sein.
Bei CodeCreator.v1.0.0.py steht ja in dem Code den Du per uic erzeugt hast drin, dass man die Datei nicht ändern sollte. Machst Du trotzdem. Ist in dem Fall eines Standalone-Programms vielleicht gar nicht so schlimm, dann solltest Du aber wenigstens aufräumen, damit es lesbar wird.
Das Problem kommt halt dann, wenn Du nochmal was an der Oberfläche änderst, weil Du dann alles nochmal neu schreiben mußt (bzw. richtig kopieren).
Konstanten stehen am Anfang der Datei (nach den Importen).
Man sollte kein Tuple erzeugen, wenn man es gar nicht braucht: was hast Du Dir bei der `print`-Zeile gedacht?
Vielen Danke für die Rückmeldung und die Tipps!
Als Standalone-Programm benutze ich PyCharm. Das "aufräumen" würde dann wahrscheinlich erst dann lohnen, wenn man komplett fertig wird, da ich eventuell in der Zukunft das ein oder andere an der Oberfläche ändern / ausprobieren werde.

Bei der `print`-Zeile meinte ich, dass ich einzeln die lineEdit angesprochen hab mit der clear "Befehl". Kann man das als Gruppe oder so ansprächen?
Eine Idee zur Umsetzung mit radioButton?
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@PyNeo: In der `print()`-Zeile erzeugst Du ein Tupel mit 5 `None`-Werten was absolut keinen Sinn macht. Du missbrauchst das anscheinend um alles in einer Zeile zu schreiben, aber so etwas macht man nicht. Das müsste so aussehen:

Code: Alles auswählen

    print(output)
    w.lineEditLINK.clear()
    w.lineEditBILD.clear()
    w.lineEditTITLE.clear()
    w.lineEditNAME.clear()
Und besser noch mit einem vernünftigen Namen für `w` und Attributnamen die sich wenn schon nicht an die Python-Namenskonvention halten, wenigstens nicht auch noch gegen die Qt-Namenskonventionen verstossen.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Eben, das meine ich: wenn du etwas an der Oberfläche ändern willst, musst du immer wieder Pythoncode generieren. Sowas ist umständlich. Statt dessen benutzt man die .ui-Dateien direkt mit loadui.
PyNeo
User
Beiträge: 16
Registriert: Mittwoch 30. September 2020, 19:49

__blackjack__ hat geschrieben: Dienstag 6. Oktober 2020, 18:28 Und besser noch mit einem vernünftigen Namen für `w` und Attributnamen die sich wenn schon nicht an die Python-Namenskonvention halten, wenigstens nicht auch noch gegen die Qt-Namenskonventionen verstossen.
Vielen Danke für die Rückmeldung und die Tipps!
Ich bin ein totaler Noob es sei mir verziehen! :)
Die "print()`-Zeile" hab ich jetzt geändert, funktioniert!
Ich werde die Python-Namenskonvention etc. lesen und versuchen es zu verstehen und umsetzen!
Danke!
Antworten