0
Ich möchte eine numerische Tastatur entwerfen und weiß nicht, welche Funktion für die Echtzeitanzeige verwendet wird, wenn ich auf eine Schaltfläche klicke. Beispiel 1 wird in der textctrl angezeigt, wenn die Taste 1 wie eine Taschenrechneranzeige angeklickt wird . Und es kann wie 1234 angezeigt werden, wenn 1234 Schaltflächen in Serie geklickt werden. Und ich frage mich, wie kann ich Backspace, klare Funktionen dieserNumerische Tastatur
import wx
class iCal(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Text")
panel = MainPanel(self)
class MainPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent=parent)
self.frame = parent
text_1 = wx.TextCtrl(self, value=float(num))
button_0 = wx.Button(self, label="0")
button_1 = wx.Button(self, label="1")
button_2 = wx.Button(self, label="2")
button_0.Bind(wx.EVT_LEFT_DOWN,self.output0)
button_1.Bind(wx.EVT_LEFT_DOWN,self.output1)
button_2.Bind(wx.EVT_LEFT_DOWN,self.output2)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(text_1, 0, wx.ALL|wx.CENTER, 5)
sizer.Add(button_0, 0, wx.ALL|wx.CENTER, 5)
sizer.Add(button_1, 0, wx.ALL|wx.CENTER, 5)
sizer.Add(button_2, 0, wx.ALL|wx.CENTER, 5)
self.SetSizer(sizer)
def self.output0(self,event):
if float(num) > 0:
num = num + str(0)
def self.output1(self,event):
num = num + str(1)
def self.output1(self,event):
num = num + str(1)
if __name__ == '__main__':
app = wx.App(False)
frame = iCal()
frame.Show()
app.MainLoop()
Vielen Dank, ich habe ich nicht erkennen, die falsche Datei geschrieben, die Dateien haben alle ähnlichen Namen leid. Können Sie mir bitte sagen, welches die beste Klasse ist, um die UI zu entwerfen, die ich nach den Codes veröffentlicht habe? Ich brauche Knöpfe wie diese und der 'Enter'-Knopf ist kein Quadrat. Ich habe gerade GirdSizer gefunden und frage mich, ob es bessere Klassen gibt. Vielen Dank. – Tyler
Schau dir 'wx.FlexGridSizer' auch an –
Danke, ich habe gerade ein Tutorial dazu gefunden. – Tyler