问题:
我正在为我的应用程序创建一个GUIwx.Python,当 处理按钮被按下,所以我试图执行一个线程 对于处理代码,它需要从主类和 同时设置从线程到主类的值。我试过了 从其他岗位看到过,但没有一个工作。在
Tl;dr,需要从类中获取值并修改值pls从pNombre获取并修改modtext
目标:
类线程应该从输入到类pls的用户中获取随机名称,并设置modtext的值
class TestThread(Thread):
def __init__(self):
Thread.__init__(self)
self.start()
def run(self):
#try to get value from variable in the pls class
randomName = self.pNombre.GetValue()
for i in range (0,100):
#this should modify modtext in pls class
self.modtext.SetValue(str(i))
class pls(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'lilcode', size=(800, 600), style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)
panel = wx.Panel(self)
self.SetBackgroundColour('white')
mylist = ['2', '3']
scene = wx.SingleChoiceDialog(None, 'pick', 'pick', mylist)
if scene.ShowModal() == wx.ID_OK:
if escena.GetStringSelection() == "2":
self.pNombre = wx.TextCtrl(panel, style = wx.TE_PROCESS_ENTER, pos=(240,40), size=(300, 20))
self.pNombre.SetFocus()
my_sizer.Add(self.pNombre, 0, wx.CENTER)
self.modtext = wx.TextCtrl(panel, style = wx.TE_READONLY, pos = (50, 280), size = (700, 23))
start = wx.Button(panel, label="process", pos = (350, 220), size=(70, 23))
self.Bind(wx.EVT_BUTTON, self.initiate2d, start)
panel.SetSizer(my_sizer)
self.Show()
def initiate2d(self, event):
TestThread()
在单击按钮时调用的函数所在的类中创建线程
没有必要创建另一个类。。。在
相关问题 更多 >
编程相关推荐