merkwürdiges Verhalten QIntValidator

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@lunar: Doch ich habe die Doku schon durchgelesen - nur hatte ich keine zunächst keine Ahnung, was man mit diesen locale-Sachen alles anstellen kann. Und speziell die `fixup`-Methode ist eher schlecht dokumentiert! Durch BlackJacks Anmerkung ist mir dann schon klar geworden, dass sich die Trennzeichen nur an bestimmten Stellen stehen dürfen; dass `QIntValidator` die entsprechend rausnimmt, wenn eine gültige Zahl noch möglich wäre, war doch dann imho klar?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@noisefloor: Ich habe gerade auf uu.de Deinen Blog-Eintrag gelesen. Mir fiel dabei auf, dass Du eine Variante mit `argparse` nicht aufgeführt hast. Meiner Meinung nach wäre das doch die simpelste Lösung vom Code her:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import argparse

parser = argparse.ArgumentParser(u"Programm zum Quadrieren von Integerzahlen.")
parser.add_argument("value", type=int)

args = parser.parse_args()
print args.value * args.value
Nach Deiner Zählweise wären das fünf Zeilen Code - deutlich kürzer als das selbst gebaute Command Line Parsing ;-)

Ich habe bis vor kurzem bei simplen Scripten auch immer auf `argparse` verzichtet; lunar brachte mich mit einem Posting wieder in die "Spur" und zeigte, wie einfach dieses auf den ersten Blick abschreckende Modul sein kann :-)

(Zugegebener Maßen sind die Fehlermeldungen nicht auf deutsch und nicht exakt so, wie Du sie in Deinem Script hast)

Ist es eine bewusste Entscheidung, dass Du auf Syntaxhighlighting in Deinem Blog verzichtest? Ich würde doch dafür plädieren :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
lunar

Zumal sich Vergleich relativiert, wenn man die GUI im Designer erzeugt.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ist es eine bewusste Entscheidung, dass Du auf Syntaxhighlighting in Deinem Blog verzichtest? Ich würde doch dafür plädieren
Nein. Nur bin ich durch die Untiefen von eignenen Stylesheets etc. noch nicht durch gestiegen. Zumal das von Blogspot.com erzeugte HTML sehr... komisch ist.

Gruß. noisefloor
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

noisefloor hat geschrieben:Hallo,
Ist es eine bewusste Entscheidung, dass Du auf Syntaxhighlighting in Deinem Blog verzichtest? Ich würde doch dafür plädieren
Nein. Nur bin ich durch die Untiefen von eignenen Stylesheets etc. noch nicht durch gestiegen. Zumal das von Blogspot.com erzeugte HTML sehr... komisch ist.

Gruß. noisefloor
Bei „yacoding.blogspot.com“ wird zum Beispiel erklärt wie man das einrichten kann. ;) Als Hoster bieten sich zum Beispiel Dropbox oder ein Paste-Service (mit Unterstützung für das Anzeigen des „rohen“ Pastes) an. Wobei ich

Code: Alles auswählen

<script type="text/javascript" src="..."></script>
benutzen würde.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich hätte jetzt naiv an Pygments mit eingebetteten CSS gedacht...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

Hyperion hat geschrieben:Ich hätte jetzt naiv an Pygments mit eingebetteten CSS gedacht...
IMHO zu umständlich … pygments aufrufen, umwandeln, kopieren, einfügen etc. ;)
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
IMHO zu umständlich … pygments aufrufen, umwandeln, kopieren, einfügen etc.
Na, C&P muss man ja so oder so machen. Und ein Aufruf von pygmentize ist auch nicht der Akt...

Im Blog ist der Code jetzt gehighlightet. Der Planet von uu.de übernimmt das leider nicht...

Gruß, noisefloor
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Magste die "argparse"-Variante nicht auch noch angeben? Ich würds ja als Kommentar posten, aber ich habe keine benötigten Accounts...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Hyperion hat geschrieben:Magste die "argparse"-Variante nicht auch noch angeben? Ich würds ja als Kommentar posten, aber ich habe keine benötigten Accounts...
Done. Danke für den Hinweis. :-)

Gruß, noisefloor
Antworten