在使用wxpython寫GUI開發時,想要實作一個簡單的打卡頁面,使用Choice控制元件,在使用BoxSizer后出現顯示不全的情況,相關代碼如下所示:
import wx
class Clock_In(wx.Frame):
def __init__(self,parent,title):
super(Clock_In,self).__init__(parent,title=title,size=(450,300),
style=wx.MINIMIZE|wx.SYSTEM_MENU|wx.CLOSE_BOX|wx.CAPTION)
self.InitUI()
self.Center()
list1=["很差","較差","一般","較好","很好"]
def InitUI(self):
panel = wx.Panel(self)
list1 = ['很差', '較差', '一般', '較好', '很好']
self.SetBackgroundColour("white")
Box=wx.BoxSizer(wx.VERTICAL)
#身體狀況
Box1=wx.BoxSizer(wx.HORIZONTAL)
str = wx.StaticText(panel,label = u"身體狀況",size = (50,100))
Box1.Add(str,border = 10)
self.listbox1 = wx.Choice(panel,size=(150,100),choices=list1)
self.Bind(wx.EVT_CHOICE, self.onPlay(), self.listbox1)
Box1.Add(self.listbox1,flag=wx.EXPAND,border=15)
# 心情狀況
Box2 = wx.BoxSizer(wx.HORIZONTAL)
str2 = wx.StaticText(panel,label = u"心情狀況",size = (50,100))
Box2.Add(str2,border = 10)
self.listbox2 = wx.Choice(panel,size=(150,100),choices=list1)
self.Bind(wx.EVT_CHOICE, self.onPlay(), self.listbox1)
Box2.Add(self.listbox2,flag=wx.EXPAND,border=15)
Box.Add(Box1)
Box.Add(Box2)
self.SetSizer(Box)
def onPlay(self):
pass
def main():
app=wx.App()
ex = Clock_In(None,title=u'打卡頁面')
ex.Show()
app.MainLoop()
if __name__=='__main__':
main()
運行代碼后頁面如下所示:

求教各位大神
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168304.html
