Hi
Wollte mal was mit PyKDE schreiben doch schon alleine beim lesen der Dokumentation hab ich ein Problem.
z.B. http://api.kde.org/pykde-4.2-api/kio/KMountPoint.html
Also irgendwie fällt mir hier das komplette Verständnis...
Egal wie ichs drehe und wende es kommt permanent ein Invalid Syntax, TypeError o.ä.
Kann mir hier jemand einen kleinen Demo Code zeigen?
z.B. wie man mittels mountPoint() den mountpint anzeigt?
Verständnis Problem PyKDE4
Hi,
Dein Problem wird sein, dass du versuchst ein KMountPoint-Objekt selbst zu erstellen. Das geht natürlich nicht
Steht genau so in der Fehlermeldung.
Du musst dir eine KMountPoint.List durch eine der beiden statischen Methoden geben lassen:
Jetzt musst du ein KMountPoint-Objekt suchen (click mal auf KMountPoint.List für die beiden Funktionen):
Ich hoffe jetzt verstehst du das besser.
Ciao
Franz
Dein Problem wird sein, dass du versuchst ein KMountPoint-Objekt selbst zu erstellen. Das geht natürlich nicht

Code: Alles auswählen
>>> mp = KMountPoint()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: PyKDE4.kio.KMountPoint cannot be instantiated or sub-classed
Du musst dir eine KMountPoint.List durch eine der beiden statischen Methoden geben lassen:
Code: Alles auswählen
>>> l = KMountPoint.currentMountPoints()
Code: Alles auswählen
>>> m = l.findByPath( "/home" )
>>> print m.mountPoint()
/home
>>> print m.mountType()
ext3
>>> print m.mountedFrom()
/dev/sdb2
>>> print m.probablySlow()
False
Ciao
Franz
-
- User
- Beiträge: 92
- Registriert: Sonntag 16. Dezember 2007, 20:03
Genau das war mein Problem. Danke.
Btw. Gehts nur mir so oder ist die PyKDE Doku mehr als dürftig? Zum Teil wird auch C++ erwähnt und Tutorials findet man sogut wie keine. Einsteigerfreundlich ist das ned.
Edit: Ich hab gerade mal in meinem Buch "Einführung in Python" nachgeschlagen und dort wird Statische Methoden gerade mal mit ca 5 Sätzen angesprochen aber nicht erklärt vorallem nicht mit Code. oO
Btw. Gehts nur mir so oder ist die PyKDE Doku mehr als dürftig? Zum Teil wird auch C++ erwähnt und Tutorials findet man sogut wie keine. Einsteigerfreundlich ist das ned.

Edit: Ich hab gerade mal in meinem Buch "Einführung in Python" nachgeschlagen und dort wird Statische Methoden gerade mal mit ca 5 Sätzen angesprochen aber nicht erklärt vorallem nicht mit Code. oO
Ist eigentlich nicht so schwer. Eine statische Methode ist eine solche, die ohne vorherige Instantiierung eines Objektes aufgerufen werden kann.AngelusNoctis hat geschrieben:Edit: Ich hab gerade mal in meinem Buch "Einführung in Python" nachgeschlagen und dort wird Statische Methoden gerade mal mit ca 5 Sätzen angesprochen aber nicht erklärt vorallem nicht mit Code. oO
Kleines Beispiel:
Code: Alles auswählen
class Fingerprint:
def readFinger(self):
print "Fingerprint verified, You can pass"
# weitere Methoden
@staticmethod
def availableFingerprints():
print "This is all i have"
fp = Fingerprint() # Fingerprint-Objekt erstellen
fp.readFinger() # Funktion aufrufen
Fingerprint.availableFingerprints() # statische Funktion aufrufen
fp.availableFingerprints() # das geht auch, wenngleich das fp-Objekt nicht notwendig ist!
Fingerprint.readFinger() # das geht NICHT, readFinger() benötigt eine Instanz!
http://rapd.wordpress.com/2008/07/02/py ... assmethod/
-
- User
- Beiträge: 92
- Registriert: Sonntag 16. Dezember 2007, 20:03
Kann mir jemand verraten wie zum Teufel man mit KMountPoint, KAutoMount oder Solid ein ISO Image mit der mount option Loop mountet? oO
Ich komm ned drauf, finde keine Beispiele, die Doku hilft auch ned und das KDE nicht mal in der Lage ist direkt ein Image zu mounten kann ich ned glauben. oO
Ich komm ned drauf, finde keine Beispiele, die Doku hilft auch ned und das KDE nicht mal in der Lage ist direkt ein Image zu mounten kann ich ned glauben. oO
Solid ist eine API zur Hardware-Verwaltung. Ein ISO-Abbild ist keine Hardware. KMountPoint ist bietet nur Informationen über eingehängte Geräte.
Die richtige Klasse ist also KAutoMount, oder als asynchrone Alternative "kio.KIO.mount()". Die Parameter sind doch eigentlich selbsterklärend, wo genau also liegt Dein Problem?
Die richtige Klasse ist also KAutoMount, oder als asynchrone Alternative "kio.KIO.mount()". Die Parameter sind doch eigentlich selbsterklärend, wo genau also liegt Dein Problem?