[Python] Tkinter의 serial 모듈, import 에러, Thread

2020년 08월 19일 by 진아사랑해

    [Python] Tkinter의 serial 모듈, import 에러, Thread 목차
반응형

1. import serial

serial 모듈이 없다고 에러 출력

=> pip install pyserial 을 수행

 

2. name 'Tk' is not defined

1) import tkinter

   root = Tk() => 에러 발생

  root = tkinter.Tk() => 모듈 이름을 지정하면 에러가 사라짐

2) from tkinter import *

  root = Tk() => 에러가 발생하지 않음

 

3. Thread

내부에 계속 실행되는 loop문(예: while(1) { ] )등의 문장이 없으면 한번 실행되고

쓰레드는 종료된다.

즉, 계속적으로 원하는 쓰레드가 반복되지 않는다

class ClockThread(threading.Thread):

    def __init__(self):

        threading.Thread.__init__(self)        

 

    #def update_clock(self):

    def run(self):

        while(1):  <= ClockThread가 반복 수행되기를 원하면 이 문장이 있어야 한다.

            print('1')

 

clock= ClockThread(c_gui_queue, c_serial_queue, s_clock_queue)

clock.start()

 

4. global 변수

1) 사용하는 함수 내에 "global 변수명"(예: global tmp )으로 사용하여야 한다.

def sum(a + b):

   global a

   return a+ b

 

sum(a, b)

print(a)

 

2) 함수의 외부에서 선언한 경우

global a   <= global 변수 선언

def sum(a + b):

   global a: <= 함수내에서 다시 global 변수 선언. 없으면 local 변수로 인식

   return a+ b

 

sum(a, b)

print(a)

 

 

반응형