tkinter GUI

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
stefanwue
User
Beiträge: 4
Registriert: Dienstag 1. Januar 2019, 19:25

hallo an alle

habe mal ein kleine Frage, komme mit einem Problem nicht weiter ich habe folgenden Code:

inHash = raw_input().strip().replace('-', '').replace(' ', '')
inHash = inHash[4:]
password = decryptCode(codeToBytes(inHash))

Nun möchte ich in einem Textfeld den inHash eingeben und wenn ich auf einen Button klicke soll in einem anderen Textfeld das password erscheinen.

kann mir hier jemand helfen ?

bin für jede hilfe sehr dankbar.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

welcher Button? `raw_input()` liest in Python 2 von der Kommandozeile. Wenn du irgendein GUI-Framework benutzt müsstest du dessen Widgets, Dialogboxen, was-auch-immer benutzen.

Variablennamen schreibt man in Python per Konvertion klein_mit_unterstrich. Also `in_hash`, nicht `inHash`.

Gruß, noisefloor
stefanwue
User
Beiträge: 4
Registriert: Dienstag 1. Januar 2019, 19:25

Danke für deine Antwort
Könnte mir da jemand dabei helfen diese drei Zeilen umzuschreiben ohne das raw_input dafür eine textbox

Danke
Benutzeravatar
__blackjack__
User
Beiträge: 13115
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@stefanwue: Wo hakt es denn? GUIs sind ein eigenes, etwas grösseres Thema. Du musst halt mindestens das Hauptfenster, ein Eingabefeld, und eine Schaltfläche erstellen, und eine Rückruffunktion die aufgerufen wird, wenn die Schaltfläche geklickt wird. Die muss dann das Eingabefeld kennen, um es auslesen zu können. Das kann man mit `functools.partial` machen, aber eigentlich kommt man bei GUI-Programmierung nicht um objektorientierte Programmierung herum. Und es funktioniert alles nicht mehr so linear, also man kann nicht Code schreiben, mit einer Funktion eine Eingabe vom Benutzer erfragen, und gleich danach damit weiterarbeiten. Bei GUI-Programmierung liegt die Flusskontrolle nicht mehr so einfach beim Programmierer, sondern die gibt man an die GUI ab, und reagiert dann nur noch auf Ereignisse für die man vorher Behandlungsfunktionen/-methoden registriert hat.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
stefanwue
User
Beiträge: 4
Registriert: Dienstag 1. Januar 2019, 19:25

hallo danke für eure Antworten

Ich habe meoin Script soweit fertig nur bräuchte ich für folgendes Hilfe

inHash = raw_input().strip().replace('-', '').replace(' ', '') Für diesen Abschnitt bräuchte ich das ich es in eine Textbox eingeben kann
inHash = inHash[4:] Das gehört dann noch dazu zur Textbox
password = decryptCode(codeToBytes(inHash)) Dieses ist dann meine Ausgabe in einer anderen Textbox

ich hoffe ich habe richtig erklärt.

Sorry
Benutzeravatar
__blackjack__
User
Beiträge: 13115
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@stefanwue: Ich denke das war auch nach dem ersten Beitrag schon klar. Die Frage war wo es denn nun hakt? Was hast Du gemacht um das zu erreichen, und was funktioniert daran nicht?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
bb1898
User
Beiträge: 200
Registriert: Mittwoch 12. Juli 2006, 14:28

stefanwue hat geschrieben: Donnerstag 3. Januar 2019, 19:13 hallo danke für eure Antworten

Ich habe meoin Script soweit fertig nur bräuchte ich für folgendes Hilfe

inHash = raw_input().strip().replace('-', '').replace(' ', '') Für diesen Abschnitt bräuchte ich das ich es in eine Textbox eingeben kann
inHash = inHash[4:] Das gehört dann noch dazu zur Textbox
password = decryptCode(codeToBytes(inHash)) Dieses ist dann meine Ausgabe in einer anderen Textbox

ich hoffe ich habe richtig erklärt.

Sorry
Mir sieht das so aus, als brauche Dein Script nur diese eine Eingabe, der ganze Rest geht ohne Benutzer-Interaktion. Besonders nützlich ist ein GUI in dem Fall eher nicht.

Wenn Du aber tatsächlich Ein- und Ausgabe mit GUI-Elementen machen willst, gibt es zwei Möglichkeiten:

Du arbeitest Dich in die Grundlagen von tkinter ein - hier ist z.B. ein Tutorial, das für Dein beschriebenes Problem genug bieten dürfte:

https://tkdocs.com/tutorial/index.html

Oder Du nimmst nur für Ein- und Ausgabe tkinter-Standarddialoge. Einschlägig wären hier tkinter.messagebox.showinfo() für die Ausgabe und tkinter.simpledialog.askstring() für die Eingabe. Die Messagebox wird im oben genannten Tutorial behandelt, für simpledialog habe ich auf die Schnelle nichts Brauchbares gefunden. Ob das dann allerdings wirklich schöner oder nützlicher ist als eine reine Konsolenanwendung?
Antworten