geloest: Einen Dialog aus einem Dialog aufrufen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

xWolf hat geschrieben:OpenOffice macht alles falsch? Was soll dass denn?
einiges != alles
Wollen Sie ueber richtig oder unrichtig in Programmierung entscheiden?
"Meiner Meinung nach ist etwas richtig wenn man beweisen kann dass es funktioniert." Simple Feststellung oder? Allerdings ist diese simple Feststellung mit der Konsequenz verbunden dass alles was sich nicht testen lässt(Beweis) "unrichtig" ist.

In der Realität kann man leider nicht alles testen, wass nicht heisst dass diese spezifische untestbare Sache "unrichtig" ist. Insofern ein durchaus sehr komplexes Thema interessantes Thema dass eine Menge Diskussionsstoff bietet und sich immer wieder für einen Flamewar aufwärmen lässt.
UNO ist auch nicht mein Ding. Da krieg auch ich graue Haare, aber ich kann doch diese Leute, die das entwickelt haben nicht zu Vollidioten erklaeren, nur weil ich/wir es nicht verstehen?!
Auch hier hat Leonidas nicht gesagt dass Vollidioten am Werke waren nur dass die Idee blöd war. Selbst intelligente Leute sollen manchmal blöde Ideen haben, glaub ich zumindest ich will mich hier ja nicht selbst als intelligent loben, eigenlob usw. ihr wisst schon...
Leonidas hat geschrieben:Das ist doch Quatsch. Lunar hat dir einen guten Tipp gegeben, ihn begrundet und du hast ihn abgeweisen,...
Ich habe keinen Tipp abgewiesen. Sein Tipp war "lesen" und ich habe gelesen und habe meine Erkenntnis der Forumgemeinde zur Verfuegung gestellt.
Nun, die Erkenntnis ist aber reichlich seltsam. Wenn du bei deiner Notation s für String verwendest, was für ein String ist das? str, QString, unicode? Alle drei haben andere Methoden und Verhalten sich anders, alle drei machen Sinn.

Insofern macht die Notation keine Sinn da man sowieso Namen vergeben sollte aus denen ersichtlich wird ob es ein String, eine Zahl, ein Boolscher Wert, eine Funktion, eine Methode oder eine Klasse ist.
Es sei den du wählst deine Namen so dass dies nicht der Fall ist. Das hätte zur Folge dass der Code nur noch schwer verständlich ist und damit unbrauchbar.

Womit wir übrigens wieder beim Thema richtig vs. unrichtig wären, den kann unbrauchbarer Code richtig sein?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

xWolf hat geschrieben:Oder besser Na HALLO ?!
OpenOffice macht alles falsch? Was soll dass denn?
Wo habe ich das gesagt? Bitte ein konkretes Zitat, denn im Zitierten Ausschnitt habe ich so etwas nicht gesagt.
xWolf hat geschrieben:Wollen Sie ueber richtig oder unrichtig in Programmierung entscheiden?
UNO ist auch nicht mein Ding. Da krieg auch ich graue Haare, aber ich kann doch diese Leute, die das entwickelt haben nicht zu Vollidioten erklaeren, nur weil ich/wir es nicht verstehen?!
Alles was ich nicht verstehe muss also richtig sein? Nein, so funktioniert das auch nicht. Ich habe nun mit ziemlich vielen RPC-Mechanismen gearbeitet bzw es versucht (XML-RPC, SOAP, Corba, dbus, UNO, PyRO, COM) und UNO ist eine der umständlichsten Arten irgedwas hinzubekommen. Ich habe auch mit einem Sun-Mitarbeiter gesprochen, der ebenso zugegeben hat, dass UNO wirklich nicht das wahre ist, selbst im Hinblick auf COM.
xWolf hat geschrieben:Sein Tipp war "lesen" und ich habe gelesen
Gegen lesen ist auch nichts einzuwenden, sein Tipp war aber auch die Ungarische Notation fallen zu lassen.
xWolf hat geschrieben:Aber eigentlich... Wo haben Sie denn das her?
Sie muessen meinen Beitrag mit einem anderen verwechselt haben.
Was Sie hier schreiben entbehrt leider jeder Grundlage.
Das denke ich mir bei Ihren Beiträgen und Zitaten auch. :roll:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

@xWolf
Offenbar hast du an meinem Posting einiges missverstanden. Es liegt mir fern, dich persönlich zu kritisieren. Es ging mir lediglich um "technische" Kritik an deiner Namenskonvention, und um einen Rat, deine Python-Programme lesbarer zu gestalten.

Es steht dir natürlich frei, Ratschlag und Kritik anzunehmen oder auszuschlagen. Du hast dich für letzteres entschieden, was mir recht sein soll. Ich muss ja schließlich nicht mit diesem Code leben.

Du musst dich auch nicht genötigt fühlen, deinen Stil hier zu rechtfertigen, denn überzeugen kannst du mich in der Hinsicht eh nicht. Diese Diskussion ist also müßig, und insofern beteilige ich mich auch nicht weiter daran. Ich habe dir ein Rat gegeben, du hast ihn ausgeschlagen, damit soll die Sache beendet sein.

PS:
Im Übrigen ist auch die formlose Anrede nicht als Beleidigung gemeint, sondern lediglich so üblich in diesem Forum. Wenn du auf dem "Sie" bestehst, dann soll mir das ebenfalls recht sein.
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

lunar hat geschrieben:@xWolf

Es steht dir natürlich frei, Ratschlag und Kritik anzunehmen oder auszuschlagen. Du hast dich für letzteres entschieden, was mir recht sein soll. Ich muss ja schließlich nicht mit diesem Code leben.
Ich habe den Ratschlag nicht abgeschlagen, ich habe nur versucht zu erklaeren, warum ich dies so gewaehlt habe. Schliesslich kann keiner wissen, wann was wie richtig ist. Und meine "Nach-Windows-VB-Programmier-Erfahrungen" waren nun mal im OpenOffice. Da habe ich nun mal die Dokumentation gelesen, die verfuegbar war/ist. Und das ist nicht unbedingt viel.
Dass die Jungs von SUN nun einiges falsch gemacht haben, wurde mir erst hier in diesem Forum mitgeteilt. Wissen konnte ich das nicht.
PS:
Im Übrigen ist auch die formlose Anrede nicht als Beleidigung gemeint, sondern lediglich so üblich in diesem Forum. Wenn du auf dem "Sie" bestehst, dann soll mir das ebenfalls recht sein.
Das "Sie" bezeugt nur den Respekt vor einer Person. Klar, und da hast Du recht, in den Foren ist "Du" angesagt.
Das war ein Versehen, aber das mit dem "Respekt" ist kein Versehen.

Trotzdem Danke fuer deine Hilfe und die Tipps.

Wolf

P.S.

Aber das eigentliche Problem war ja nicht die "ungarische Notation" sondern das Aufrufen eines Dialoges aus einem Anderen heraus. Und mein "sText" :? habe ich ja dann nach meinem ersten Posting konsequent weggelassen.
Ich versuche mich zu bessern. ;-)
Aber fuer Alle anderen, das "s" steht tatsaechlich fuer String. Nicht fuer str(), denn das ist eine Funktion. Und ein String ist eine Zeichenkette wie z.B. "python".
Aber wie gesagt, ich will mich bessern.
lunar

xWolf hat geschrieben:Aber fuer Alle anderen, das "s" steht tatsaechlich fuer String. Nicht fuer str(), denn das ist eine Funktion. Und ein String ist eine Zeichenkette wie z.B. "python".
Ein "String" existiert in Python nicht. Eine "Zeichenkette" wie "python" ist ein Literal des Typs "str". "str()" ist auch keine Funktion, sondern der Python-Typ für Bytestrings. Daneben gibt es noch Unicode-Strings, die du ebenfalls als Literal darstellen kannst:

Code: Alles auswählen

spam = u'egg'
Die Nutzung dieser Form ist bei PyQt4 besser geeignet, da Qt4 intern ebenfalls Unicode-Strings nutzt.
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

lunar hat geschrieben: "str()" ist auch keine Funktion, sondern der Python-Typ für Bytestrings. ...
Hallo,

Und ein Einspruch.

Hier ein Auszug aus
Python Referenz
David M. Beazley
Vorwort von Guido van Rossum

Seite 51:
4.5 Typ-Konvertierung
Manchmal ist es notwendig, zwischen eingebauten Typen zu konvertieren. Folgende eingebaute Funktionen ermöglichen eine explizite Typ-Konvertierung:
Funktion.....................Beschreibung
int(x) ........................Konvertiert x in eine Ganzzahl
long(x)......................Konvertiert x in eine lange Ganzzahl
float(x) .....................Konvertiert x in eine Fließkommazahl
complex(real [,imag])..Erzeugt eine komplexe Zahl
str(x)....................Konvertiert Objekt x in eine String-Darstellung
repr(x)..................... Konvertiert Objekt x in einen String-Ausdruck
eval(x)......................Wertet einen String aus und gibt ein
Wolf
BlackJack

`str` ist trotzdem ein Typ und keine Funktion:

Code: Alles auswählen

In [285]: str
Out[285]: <type 'str'>

In [286]: pow
Out[286]: <built-in function pow>

In [287]: class A(pow): pass
   .....:
---------------------------------------------------------------------------
<type 'exceptions.TypeError'>             Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

<type 'exceptions.TypeError'>: Error when calling the metaclass bases
    cannot create 'builtin_function_or_method' instances

In [288]: class B(str): pass
   .....:

In [289]: issubclass(str, basestring)
Out[289]: True
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

Ist denn das von mir zitierte Buch nun auch falsch?

Oder gibt es vielleicht eine Funktion und einen Type?


Wolf
BlackJack

Falsch wäre ein hartes Wort. Ungenau könnte man sagen. Man kann `str()` ja aufrufen und bekommt ein Exemplar vom Typ `str` zurück, wobei das eben die Zeichenkettendarstellung vom übergebenen Argument ist. `str` verhält sich da also wie eine Funktion.
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

OK,
Ich gebe mich geschlagen.
ist wohl eine Klasse:
>>> help(str)
ergibt
Help on class str in module __builtin__:

class str(basestring)
| str(object) -> string
|
| Return a nice string representation of the object.
| If the argument is a string, the return value is the same object.
|
| Method resolution order:
| str
| basestring
| object
|
| Methods defined here:

Wolf
Antworten