Hallo
Wie kann ich bei einem Iconview statt des Textes ein Entry Anzeigen lassen,
wie beim Nautilus wenn man auf einem Icon "F2" drückt?
Gruß
Andyh
IconView Icons umbenenen
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Deine Beschreibung ist äußerst unklar, aber IMO suchst du das:
PyGTK Referenz hat geschrieben:gtk.IconView.set_cursor
def set_cursor(path, cell=None, start_editing=False)
start_editing : if True the specified cell should start being edited
Hallo
Danke für deine Antwort!
Leider komme ich mit dem zweiten Argument nicht klar ("cell"), ich habe keine Ahnung woher ich den "cell Renderer" bekommen kann wenn ich "F2" drücke zum umbenennen der Icons. Da gibt es zwar "get_item_at_pos" das gibt den "cell Renderer" zurück, aber da weiß ich wieder nicht wie ich an die Position des Markieren Icons kommen.
Gruß
Andyh
Danke für deine Antwort!
Leider komme ich mit dem zweiten Argument nicht klar ("cell"), ich habe keine Ahnung woher ich den "cell Renderer" bekommen kann wenn ich "F2" drücke zum umbenennen der Icons. Da gibt es zwar "get_item_at_pos" das gibt den "cell Renderer" zurück, aber da weiß ich wieder nicht wie ich an die Position des Markieren Icons kommen.
Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
``cell`` benötigst du doch theoretisch gar nicht?!
Und für den ``path`` gibt es:
P.S. Alles ungetestet der Referenz entnommen. Poste bitte eventuelle Fehler.
Und für den ``path`` gibt es:
Hier mal Beispielcode:gtk.IconView.get_selected_items
def get_selected_items()
Returns : a list of the paths of the selected icons.
Code: Alles auswählen
icon_view.set_selection_mode(gtk.SELECTION_SINGLE)
sel_items = icon_view.get_selected_items()
if len(sel_items) == 1:
icon_view.set_cursor(sel_items[0], start_editing=True)
else:
# no selection
Hallo
Danke nochmal für deine Antwort!
Es passiert beim drücken von "F2" nichts.
Gruß
Andyh
Danke nochmal für deine Antwort!
Code: Alles auswählen
import gtk
def rename(accel_group, accel, keyval, modifier):
print "rename"
sel_items = i.get_selected_items()
if len(sel_items) == 1:
print sel_items
i.set_cursor(sel_items[0], start_editing=True)
w = gtk.Window()
i = gtk.IconView()
i.set_selection_mode(gtk.SELECTION_SINGLE)
model = gtk.ListStore(str, gtk.gdk.Pixbuf)
i.set_model(model)
i.set_text_column(0)
i.set_pixbuf_column(1)
i.set_columns(-1)
i.set_item_width(100)
pixbuf = gtk.gdk.pixbuf_new_from_file("/usr/share/icons/gnome/scalable/mimetypes/audio-x-generic.svg")
model.append(["Test", pixbuf])
w.add(i)
accelgroup = gtk.AccelGroup()
key, modifier = gtk.accelerator_parse("F2")
accelgroup.connect_group(key, modifier, gtk.ACCEL_LOCKED, rename)
w.add_accel_group(accelgroup)
w.show_all()
gtk.main()
Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Hallo
Die Funktion wird aufgerufen, die Ausgabe über die zwei print's sieht so aus:
rename
[(0,)]
Gruß
Andyh
Die Funktion wird aufgerufen, die Ausgabe über die zwei print's sieht so aus:
rename
[(0,)]
Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys
if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]