我是python的初学者,我创建了GUI来使用pyserial从USB读取数据,并通过更改Labels的值在GUI中显示。
无需在GUI中更新标签,代码就可以正常工作,但是一旦我包含了标签更新程序并从程序中运行RAM,就开始建立代码。我在Windows任务管理器中注意到了这一点。它的建立不停。它仅在我停止更新GUI上的标签时才显示。
这是我要工作的一部分代码:
try:
import Tkinter as tk
except ImportError:
import tkinter as tk
try:
import ttk
py3 = False
except ImportError:
import tkinter.ttk as ttk
py3 = True
class Toplevel1:
def __init__(self, top):
'''This class configures and populates the toplevel window.
top is the toplevel containing window.'''
_bgcolor = '#d9d9d9' # X11 color: 'gray85'
_fgcolor = '#000000' # X11 color: 'black'
_compcolor = '#d9d9d9' # X11 color: 'gray85'
_ana1color = '#d9d9d9' # X11 color: 'gray85'
_ana2color = '#d9d9d9' # X11 color: 'gray85'
font10 = "-family {Courier New} -size 10 -weight normal -slant " \
"roman -underline 0 -overstrike 0"
font17 = "-family {@Arial Unicode MS} -size 12 -weight bold -slant" \
" roman -underline 0 -overstrike 0"
font9 = "-family {Segoe UI} -size 9 -weight normal -slant roman " \
"-underline 0 -overstrike 0"
self.style = ttk.Style()
if sys.platform == "win32":
self.style.theme_use('winnative')
self.style.configure('.', background=_bgcolor)
self.style.configure('.', foreground=_fgcolor)
self.style.configure('.', font="TkDefaultFont")
self.style.map('.', background=
[('selected', _compcolor), ('active', _ana2color)])
top.geometry("800x480")
top.title("Julio's Arduino Terminal 2.0")
top.configure(background="#d9d9d9")
self.ValueFrame = tk.Frame(top)
self.ValueFrame.place(relx=0.438, rely=0.313, relheight=0.573
, relwidth=0.194)
self.ValueFrame.configure(relief='groove')
self.ValueFrame.configure(borderwidth="2")
self.ValueFrame.configure(relief='groove')
self.ValueFrame.configure(background="#d9d9d9")
self.ValueFrame.configure(width=155)
self.LabelChn1 = tk.Label(self.ValueFrame)
self.LabelChn1.place(relx=0.065, rely=0.073, height=21, width=134)
self.LabelChn1.configure(background="#d9d9d9")
self.LabelChn1.configure(disabledforeground="#a3a3a3")
self.LabelChn1.configure(font=font17)
self.LabelChn1.configure(foreground="#000000")
self.LabelChn1.configure(justify='right')
self.ch1text = tk.StringVar()
self.ch1text.set('0')
self.LabelChn1.configure(textvariable=self.ch1text)
self.LabelChn1.configure(width=134)
def upd_ch1(self, ch1):
self.ch1text.set(ch1)
每次输入usb数据时都会调用类函数upd_ch1()。
我尝试了不同的方法,但是我对python的了解很少。请帮忙!