如何使我刚刚更改的文本居中?

中心有一个静态文本,通过单击按钮将其更改为文件中的随机文本。

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

问题如何解决?

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()


之前按钮

http://img4.mukewang.com/64b65c9c0001914402880189.jpg

按钮后

http://img1.mukewang.com/64b65ca70001450c02880189.jpg


慕娘9325324
浏览 93回答 1
1回答

蓝山帝景

更改文本后,self.panel.Layout()调用重新居中对象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()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python