Hi,
leider, ich möchte gerne in einer column einer listctrl zeilenschaltungen ala \n einfügen. Allerdings scheint das ja nicht zu gehen. Ok, kann ich dann irgendwie ein textctrl in eine column einfügen?
es kann doch nicht sein, das ich keine tabelle erstellen kann (es muss eine tabelle sein) in der ich in eine spalte mehrere zeilen schreiben kann.
oder ich seh den wald vor lauter bäumen nicht. ich möchte content irgendwie sauber strukturiert wieder geben, also links ein bild, rechts ein text und immer dynamisch aller 5 minuten welche hinterher. Was soll ich dafür nehmen außer listctrl, bzw wie bekomm ich zeilenumbrüche in listctrl?
danke schonmal für eure hilfe
multiline in listctrl
-
- User
- Beiträge: 7
- Registriert: Donnerstag 6. August 2009, 10:11
ja, wobei ich finde das grid eher für eingaben durch den user gedacht ist als für mich als listctrl, oder kann ich das auch auf readonly und ohne zeilen und spalten bezifferung ausgeben?
Du kannst Editieren des gesamten Grids oder einzelner Zellen mit EnableEditing(False) bzw. SetReadOnly(x, y, isReadOnly=True) abschalten. Die Zeilen- und Spaltenbeschriftung kann man aber m.E. nicht komplett unterdrücken. Evtl. wäre noch der Grid-Sizer etwas für Dich.
MfG
HWK
MfG
HWK
-
- User
- Beiträge: 7
- Registriert: Donnerstag 6. August 2009, 10:11
hm, gestern bin ich leider etwas verzweifelt. Ich habe stunden auf arbeit unter Linux mit wxPython programmiert und war schon fast am ziel. Komm nachhause und will es auf meinem Mac starten und nix geht. Heute werde ich mir mal noch das Grid thema genauer ansehen, wenn das auch wieder nicht klappt, werde ich auf eine reine consolen anwendung umsteigen und nur growl zur darstellung benutzen...
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Kann man. Hab dies hier in meinem Code gefunden:HWK hat geschrieben:Die Zeilen- und Spaltenbeschriftung kann man aber m.E. nicht komplett unterdrücken.
SetColLabelSize(0), SetRowLabelSize(0)
Ohne Gewaehr, kann den Code gerade nicht testen. Im Allgemeinen gibt es wohl nichts, was man mit einem Grid nicht machen kann.
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
-
- User
- Beiträge: 7
- Registriert: Donnerstag 6. August 2009, 10:11
na das klingt ja immer besser, dann werde ich mich doch gleich mal dran machen
edit:
also die optionen kann ich schonmal bestätigen, das funktioniert.
habt ihr evtl auch was um die lines zwischen spalten und zeilen auszublenden?
edit:
also die optionen kann ich schonmal bestätigen, das funktioniert.
habt ihr evtl auch was um die lines zwischen spalten und zeilen auszublenden?
Zuletzt geändert von gangsterchen am Freitag 7. August 2009, 13:18, insgesamt 1-mal geändert.
-
- User
- Beiträge: 7
- Registriert: Donnerstag 6. August 2009, 10:11
hm, grid fällt wohl raus. So wie ich das sehe, kann ich sie nicht dynamisch erweitern. ich muss vorher festlegen wie groß sie ist...
schade, sah vielversprechend aus.
auf zu vlistbox und htmllistbox
bzw ich les mich grad durchs MEGAGrid sample und dort siehts so aus als wäre es möglich columns dynamisch einzuführen, sieht aber bis jetzt noch total kompliziert aus...
schade, sah vielversprechend aus.
auf zu vlistbox und htmllistbox
bzw ich les mich grad durchs MEGAGrid sample und dort siehts so aus als wäre es möglich columns dynamisch einzuführen, sieht aber bis jetzt noch total kompliziert aus...
- Mawilo
- User
- Beiträge: 454
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hier ein kleines Beispiel aus einem Programm von mir. Über ein Popup-Menü werden da Zeilen zugefügt oder entfernt. Vieleicht hilft es Dir.
Grüße
Mawilo
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import wx
import wx.grid
class Beispiel(wx.Frame):
def __init__(self, title, pos, size):
wx.Frame.__init__(self, None, -1, title, pos, size)
panel = wx.Panel(self, -1)
grid = wx.grid.Grid(panel, size=(400,400))
grid.CreateGrid(5, 3)
colLabels = ['Spalte 1', 'Spalte 2', 'Spalte 3']
for idx, name in enumerate(colLabels):
grid.SetColLabelValue(idx, colLabels[idx])
grid.SetDefaultCellAlignment(wx.CENTRE, wx.CENTRE)
grid.SetColSize(0, 80)
grid.SetColSize(1, 100)
grid.SetColSize(2, 80)
for idx in xrange(5):
grid.SetCellValue(idx, 0, str(idx))
grid.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, GridPopup)
class GridPopup(wx.Panel):
def __init__(self, event):
grid = event.GetEventObject()
parent = grid.GetParent()
wx.Panel.__init__(self, parent)
self.pos = event.GetRow()
self.grid = grid
popupID1 = wx.NewId()
popupID2 = wx.NewId()
popupID3 = wx.NewId()
menu = wx.Menu()
menu.Append(popupID1, 'Add Row before')
menu.Append(popupID2, 'Add Row after')
menu.AppendSeparator()
menu.Append(popupID3, 'Delete row')
self.Bind(wx.EVT_MENU, self.setNewRowBefore, id=popupID1)
self.Bind(wx.EVT_MENU, self.setNewRowAfter, id=popupID2)
self.Bind(wx.EVT_MENU, self.deleteRow, id=popupID3)
self.PopupMenu(menu)
menu.Destroy()
def setNewRowBefore(self, event):
pos = self.pos
self.grid.InsertRows(pos=pos, numRows=1)
def setNewRowAfter(self, event):
pos = self.pos + 1
self.grid.InsertRows(pos=pos, numRows=1)
def deleteRow(self, event):
pos = self.pos
self.grid.DeleteRows(pos=pos, numRows=1)
if __name__ == '__main__':
app = wx.PySimpleApp()
title = '**---Test---**'
pos = (200, 200)
size = (500, 450)
frame = Beispiel(title, pos, size)
frame.Show()
app.MainLoop()
Mawilo
gangsterchen hat geschrieben:habt ihr evtl auch was um die lines zwischen spalten und zeilen auszublenden?
Code: Alles auswählen
EnableGridLines(False)
HWK
-
- User
- Beiträge: 7
- Registriert: Donnerstag 6. August 2009, 10:11
Hi,
ja mit dem beispiel kann ich super was anfangen, jetzt war ich schon kurz davor auf qt zu wechseln, aber so klappt das prächtig.
dankeschön
edit:
jetzt brauch ich nur noch eine kleinigkeit, ich werde zwar die demo paralell nochmal durchschauen, hab aber bis jetzt nicht wirklich was gefunden.
Ich möchte das das programm nur oben in der statusleiste, und nicht in der normalen taskleiste angezeigt wird, und bei einem klick auf das statusicon verschwindet oder auftaucht, ist das mit wx möglich?
ja mit dem beispiel kann ich super was anfangen, jetzt war ich schon kurz davor auf qt zu wechseln, aber so klappt das prächtig.
dankeschön
edit:
jetzt brauch ich nur noch eine kleinigkeit, ich werde zwar die demo paralell nochmal durchschauen, hab aber bis jetzt nicht wirklich was gefunden.
Ich möchte das das programm nur oben in der statusleiste, und nicht in der normalen taskleiste angezeigt wird, und bei einem klick auf das statusicon verschwindet oder auftaucht, ist das mit wx möglich?