Hi,
ich hab auf meinem Formular ein Grid Control.
Nun habe ich zwei Fragen dazu.
1. Wie kann ich in der letzten Spalte in jede Zelle eine Checkbox einbauen?
2. Wie muss ich tun damit, wenn ich eine Celle der vorletzten Spalte anklicke, dann ein Event anspringt?
MfG
Grid Control anpassen
-
- User
- Beiträge: 25
- Registriert: Mittwoch 23. April 2008, 13:47
Also das Checkbox Problem hab ich ganz einfach mit den Spaltenattributen gelöst.
Nun bleibt aber immernoch die Frage offen, wie kann ich eine Spalte mit einem Event versehen. Ganz genau: In den Zellen der Spalte stehen Pfade mit Dateinamen. Wenn ich nun eine dieser Zellen anklicke, soll das File geöffnet werden. Ist das überhaupt möglich und wenn ja, wie?
MfG
Code: Alles auswählen
attr = wx.grid.GridCellAttr()
attr.SetEditor(wx.grid.GridCellBoolEditor())
attr.SetRenderer(wx.grid.GridCellBoolRenderer())
self.grid.SetColAttr(4, attr)
MfG
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Korea!Korea-2003 hat geschrieben:wie kann ich eine Spalte mit einem Event versehen. Ganz genau: In den Zellen der Spalte stehen Pfade mit Dateinamen. Wenn ich nun eine dieser Zellen anklicke, soll das File geöffnet werden.
Hier http://docs.wxwidgets.org/stable/wx_wxgrid.html stehen die Events drinnen, die du nutzen kannst. Vielleicht kannst du mit EVT_GRID_EDITOR_SHOWN etwas anfangen.
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
-
- User
- Beiträge: 25
- Registriert: Mittwoch 23. April 2008, 13:47
Danke Gerold,
ich habs jetzt mit EVT_GRID_CELL_LEFT_DCLICK gelöst.
Kann ich bei os.startfile() irgendwie angeben, dass er das File, welches in der Zelle steht mit einem Template öffnet (zB. Wordvorlage)?
MfG
ich habs jetzt mit EVT_GRID_CELL_LEFT_DCLICK gelöst.
Code: Alles auswählen
self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDClick, self.grid)
def OnLeftDClick(self, evt):
col = self.grid.GetGridCursorCol()
row = self.grid.GetGridCursorRow()
if col == 3:
path = self.grid.GetCellValue(row, col)
if not path == "" or path == None:
os.startfile(path)
MfG