我是python语言的新手,已经学习和使用它两天了。我正在写一段代码,将grbl文件发送到我的数控机床。
我的代码:
def grbl_sturing(Gcode_file):
print('running')
lbl_Running = Label(root, text="running")
lbl_Running.grid(row=0, column=2)
#Grbl setup
poort = serial.Serial('com11',115200)
code = open(Gcode_file,'r');
poort.write(b'\r\n\r\n')
time.sleep(2)
poort.flushInput()
#sturing
for line in code:
l = line.strip()
print ('Sending: ' + l)
poort.write(l.encode() + b'\r\n')
grbl_out = poort.readline()
print (' : ' + str(grbl_out.strip()))
#Grbl afsluiten
code.close()
poort.close()所以当我按下tkinter窗口中的一个按钮时,我会转到这个函数。我的意图是在标签和命令中让我知道程序正在发送/运行的位置。但当我按下这个按钮时,我的命令显示如下:
running
Sending: $H
: b'ALARM:9'别担心闹钟响了,因为数控机床没电。
在cmd中,它像结束一样工作,但当我在tkinter窗口中查看时,它会先运行,当它完成时,它会显示它正在运行。它为什么要这样做,我如何修复它?提前谢谢你。
ps(对不起,我的英语不好)
发布于 2021-02-05 18:42:56
因此,这里发生的情况是,您正在创建标签,但GUI直到稍后才会更新,要使其按该顺序更新,您必须使用以下代码行:
TK.update()其中TK是强制接口在此时更新的tkInter变量,而不是等待主循环。
https://stackoverflow.com/questions/66061388
复制相似问题