注册 登录
编程论坛 Python论坛

求助,用wxpython做了一个GUI,总提示变量没定义,帮我看看,谢谢了

wangjx236007 发布于 2021-03-02 23:14, 1260 次点击
import wx
import random
import time


class MyFrame(wx.Frame):
    def __init__(self,parent,id):
        #设置一个窗体

        wx.Frame.__init__(self,parent,id,title='标准窗体',size=(600,400),pos=(100,100))
        #设置一个版面

        panel1=wx.Panel(self)
        self.st=wx.StaticText(panel1,size=(300,300))#静态文本
        #self.st=wx.Font(panel1,pointSize+40)
        self.bott1=wx.Button(panel1,id=10,label='开始')#开始按钮
        self.bott2=wx.Button(panel1,id=11,label='暂停')#暂停按钮
        self.Bind(wx.EVT_BUTTON,self.bbt,id=10,id2=11)#定义一个事件
        hsize_st=wx.BoxSizer(wx.HORIZONTAL)#水平布局
        hsize_st.Add(self.st,proportion=1)
        hsize_bot = wx.BoxSizer(wx.HORIZONTAL)
        hsize_bot.Add(self.bott1, proportion=0)
        hsize_bot.Add(self.bott2, proportion=1)


        vsize=wx.BoxSizer(wx.VERTICAL)#垂直布局
        vsize.Add(hsize_st,proportion=0,flag=wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER,border=15)
        vsize.Add(hsize_bot,proportion=0,flag=wx.ALIGN_CENTER,border=5)
        panel1.SetSizer(vsize)

    def bbt(self,event):
        event_id = event.GetId()
        global ppp
        if event_id==10:
            list=['wjx','语文','数学','huaxue','wuli','shengwu','daxue']
            while True:

                ppp=list[random.randint(0,int(len(list)-1))]
                time.sleep(0.5)
                self.st.SetLabel(PPP)




if __name__ == '__main__':
    app=wx.App()
    frame=MyFrame(parent=None,id=-1)
    frame.Show()
    app.MainLoop()
2 回复
#2
fall_bernana2021-03-04 09:35
回复 楼主 wangjx236007
self.st.SetLabel(PPP)  里的是大写。你定义的变量是小写
#3
wangjx2360072021-03-04 22:04
谢谢了,我检查好几遍,都没有看到。。另外,我有一个暂停,但不知道咋样写了。麻烦再帮我一下。
1