我怎样才能使我刚刚更改的文本居中?

How can I center the text I just changed?

中间有一个静态文本,点击按钮会变成文件中的随机文本。

这就是问题本身:按下按钮后,新文本从之前的和平文本的开头开始,而不是在中间。

如何解决问题?

import wx
import random

class TestWindow(wx.Frame):

    def chBtnClick(self, event):
        f = open("Words.txt", "r")
        random_word = random.choice(f.read().split("\n"))
        self.chText.SetLabel(random_word)
        
    def __init__(self, parent, title):
        wx.Frame.__init__(self, None, title=title, size=(300, 200))

        self.panel = wx.Panel(self, wx.ID_ANY)

        VSizer = wx.BoxSizer(wx.VERTICAL)

        self.chText = wx.StaticText(self.panel, wx.ID_ANY, label="Click Random")
        VSizer.Add(self.chText, 0, wx.CENTER | wx.ALL, 5)
        
        self.chBtn = wx.Button(self.panel, wx.ID_ANY, label="Random!")
        VSizer.Add(self.chBtn, 0, wx.CENTER|wx.ALL, 5)

        self.chBtn.Bind(wx.EVT_BUTTON, self.chBtnClick)

        self.panel.SetSizer(VSizer)
        self.Centre()
        self.Show()

if __name__ == "__main__":
    app = wx.App()
    frame = TestWindow(None, "ExBurate Test ver.")
    app.MainLoop()

按钮之前

按钮之后

将文本调用 self.panel.Layout() 更改为 re-center 对象后

def chBtnClick(self, event):
    f = open("Words.txt", "r")
    random_word = random.choice(f.read().split("\n"))
    self.chText.SetLabel(random_word)
    self.panel.Layout()