Seite 1 von 1

Eingabe mit Barcode Scanner

Verfasst: Freitag 15. Februar 2019, 09:36
von Antik
Hallo,
also erstmal im Vorraus ich bin Anfänger und Pragmat. Also das einzige was mir als erstes wichtig ist, ist die Funktion. Wenn diese Funktioniert kümmere ich mich um Optik Vollständigkeit und Übersichtlichkeit.

Mein Problem ist folgendes:
Ich möchte eine Benutzeroberfläche erschaffen, die auf einem Touchscreen in der Fertigung laufen soll. Wenn der pushButton_2 gedrückt wird soll sich ein fenster öffnen und der benutzer aufgefordert werden eine auftragsnummer einzugeben. Dies tut er mittels eines Barcode Scanners. Wenn das geschehen ist, soll sich das Fenster schließen und die nummer übergeben werden. Ohne die while schleife funktioniert das auch allerdings bringt die while schliefe das programm zum absturz. könnt Ihr mir helfen? Vielen Dank

Code: Alles auswählen

def schreibeCSV():
    dlg2.show()
    nr = dlg2.lineEdit.text()
    while nr=="":
        nr = dlg2.lineEdit.text()
        
app = QtWidgets.QApplication([])
dlg = uic.loadUi("tagid.ui")
dlg2 = uic.loadUi("nrscannen.ui")

dlg.pushButton_2.clicked.connect(schreibeCSV)

dlg.show()


app.exec()

Re: Eingabe mit Barcode Scanner

Verfasst: Freitag 15. Februar 2019, 09:41
von sparrow
Was soll denn die Schleife?!?
Konfiguriere den Scanner so, dass er nach dem Scannen ein Newline sendet und reagiere mit einem returnPressed-Event darauf.

GUIs/Toolkits haben eigene Threads. Die kannst du nicht einfach in eine Endlosschleife schicken.

Re: Eingabe mit Barcode Scanner

Verfasst: Freitag 15. Februar 2019, 09:54
von __deets__
Ich bin ja auch pragmatisch. Anfänger, die Hilfestellung eh ignorieren, weil sie meinen, es besser zu wissen, brauchen offensichtlich keine Hilfe. Und bekommen sie dann auch nicht. Win win!

Re: Eingabe mit Barcode Scanner

Verfasst: Freitag 15. Februar 2019, 09:56
von Sirius3
GUIs arbeiten Event-basiert. Endlosschleifen funktionieren nicht. Normalerweise würde man aber auch den Input des Barcode-Scanners direkt überwachen (ob das direkt mit Qt geht, weiß ich nicht), so dass gar kein Button2-Push nötig ist. Bei Qt-Programmen oder GUIs allgemein, kommt man um Klassendefinitionen nicht drumherum. Mit Deinem pragmatischen Ansatz stößt Du jetzt schon an Deine Grenzen. Das lernen der Pythongrundlagen ist unumgänglich.

Re: Eingabe mit Barcode Scanner

Verfasst: Freitag 15. Februar 2019, 10:04
von Antik
Vielen Dank für eure Hilfe. Ich hatte es bereits mit Klassen versucht bin dort aber leider noch nicht ganz durchgestiegen und dachte ich könnte es so vllt umgehen. Dann muss ich da jetzt doch nochmal ran. Trotzdem Danke für eure schnellen Antworten