Wie erzwingen Sie die Aktualisierung der ein wx.Panel?
Ich versuche, ändern Sie die Steuerelemente des Bedienfelds, haben Sie es zu aktualisieren, dann weiter auf der Ausführung von code. Das problem scheint zu sein, dass das Panel wartet auf Leerlauf, bevor Sie selbst aktualisieren. Ich habe versucht, aktualisieren der Kurs als auch GetSizer().Layout () - und schickte sogar ein resize-Ereignis des Rahmens mit der SendSizeEvent () - Methode, aber ohne Erfolg. Ich bin ratlos hier, ich finde es schwer zu glauben, dass es keine Möglichkeit gibt, zu zwingen, ein Neuzeichnen des Fensters. Hier ist der code, änderungen der Steuerung:
def HideButtons(self):
self.newButton.Show(False)
self.openButton.Show(False)
self.exitButton.Show(False)
self.buttonSizer.Detach(self.newButton)
self.buttonSizer.Detach(self.openButton)
self.buttonSizer.Detach(self.exitButton)
loadingLabel = wx.StaticText(self.splashImage, wx.ID_ANY, "Loading...", style=wx.ALIGN_LEFT)
loadingLabel.SetBackgroundColour(wx.WHITE)
self.buttonSizer.Add(loadingLabel)
self.GetSizer().Layout()
self.splashImage.Refresh()
Hat jemand sonst begegnet so etwas? Und wie hast du es beheben, wenn ja?
- Haben Sie versucht
self.Show()
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie rufen Sie die
Update
Methode.Update ()
allein nicht helfen, in meinem Fall (StaticBitmap
s in einemGridSizer
auf einePanel
), aber die docs gesagtRefresh ()
auslösen würde ein Bedingungsloses repaint - was es Tat, wenn gefolgt vonUpdate ()
Refresh()
funktioniert für mich!?Update
ist umgezogen. Das ist genau das was ich suchte. Danke!Hatte ich eine
StaticBitmap
dass, ähnlich, würde die Aktualisierung nicht von einer dieser Techniken (einschließlich derUpdate
vorgeschlagen, in die akzeptierte Antwort).Fand ich, dass der Aufruf
.Hide()
und.Show()
auf diePanel
war genug, um das Bild aktualisieren. Ich vermute, dass das gleiche wäre der Fall, wenn ich hatte die Funktionen ausführen, die gegen eine untere-level-Objekt, wie dieStaticBitmap
.Konnte ich den veränderlichen Teil Ihrer Systemsteuerung auf einzelflächen, wie z.B. diese: