self.data1_Var.after(200, self.update_data1)
is the problem. You need to pass self.update_data1
's parameter to self.data1_Var.after
(e.g. self.data1_Var.after(200, self.update_data1, some_data)
). Otherwise after 200 milliseconds, self.update_data1
will be called without the parameter, causing the error you are seeing.
BTW, why don't directly edit the label's text instead of putting the code in self.update_all_data
. It's not clear to me why self.data1_Var.after(200, self.update_data1)
is required, because whenever new data is received, update_all_data
is called, which calls update_data1
which updates the text.