中心有一個(gè)靜態(tài)文本,通過單擊按鈕將其更改為文件中的隨機(jī)文本。這就是問題本身:按下按鈕后,新文本從前一個(gè)和平文本的開頭開始,而不是從中心開始。問題如何解決?import wximport randomclass 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()之前按鈕按鈕后
1 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
更改文本后,self.panel.Layout()
調(diào)用重新居中對(duì)象
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()
添加回答
舉報(bào)
0/150
提交
取消