Seite 1 von 1

wx.grid zeigt "0" nicht an ?!

Verfasst: Dienstag 1. April 2008, 20:46
von capsule5
Hallo zusammen,

in diesem Beispiel will ich in einem Grid nur die Eingabe von float-Zahlen erlauben. Leider wird dann die Eingabe von 0 in ein Feld nicht übernommen. Die 0 wird einfach "verschluckt"!

Code: Alles auswählen

import wx
import wx.grid


class MyFrame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, -1, title="Grid Sample")
        panel = wx.Panel(self, -1)
        grid = wx.grid.Grid(panel, -1)
        grid.CreateGrid(4, 2)
        grid.SetSize((200, 200))
        grid.SetDefaultEditor(wx.grid.GridCellFloatEditor())


if __name__ == "__main__":
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show(True)
    app.MainLoop()
Ohne "SetDefaultEditor(wx.grid.GridCellFloatEditor())" gibt es das Problem nicht. Leider können dann aber beliebige character eingegeben werden. Hat jemand einen Lösungsvorschlag?

WinXP, Python 2.5.2, wxPython 2.8.7.1

Gruß,
Christoph

Verfasst: Mittwoch 2. April 2008, 08:24
von mkesper
GridCellNumberEditor scheint das zu tun, was du willst. Floats "brauchen" ja keine führende Null, da man oft .123 etc. schreibt.

Verfasst: Mittwoch 2. April 2008, 12:31
von capsule5
GridCellNumberEditor scheint das zu tun, was du willst. Floats "brauchen" ja keine führende Null, da man oft .123 etc. schreibt.
ok, werde ich heute abend probieren, danke!

Verfasst: Mittwoch 2. April 2008, 19:16
von capsule5
GridCellNumberEditor scheint das zu tun, was du willst. Floats "brauchen" ja keine führende Null, da man oft .123 etc. schreibt.
... geht leider auch nicht. Eine "0" verschwindet auch hier. :(

Christoph

Verfasst: Mittwoch 2. April 2008, 20:09
von capsule5
noch mystischer:

wenn ich in eine leere Zelle eine "0" eingebe, verschwindet die "0" wieder.
Gebe ich aber erst eine andere Zahl ein und überschreibe diese dann mit "0", so bleibt die "0" stehen! :shock:

wer klärt das auf??