파이썬 질문!!
본문
expression cannot contain assignment, perhaps you meant "=="?
이런 오류가 뜨는데 어떻게 해야되나요?
import tkinter as tk
# 선택:0, # 선:1, 사각형:2, 원:3
draw_mode = 0
#색
draw_color = "black"
# x1, y1: 시작점
x1 = None
y1 = None
# 마우스 왼쪽 버튼을 눌렀을 때
def mouseLDown(event):
global x1, y1
mouse_text .set("X:"+str(event .x)+" Y:"+str(event .y)+" L Down")
#마우스를 움직일 때
def mouseMove(event):
global x1, y1
mouse_text .set("X:"+str(event .x)+" Y:"+str(event .y)+" Move")
# 마우스 왼쪽 버튼을 뗐을 때
def mouseLUp(event):
global x1, y1
mouse_text .set("X:"+str(event .x)+" Y:"+str(event .y)+" L Up")
# 선 그리기 모드라면
if draw_mode == 1:
canvas.create_line(x1. y1. event.x. event.y. width=2. fill=draw_color)
# 네모 그리기 모드라면
elif draw_mode == 2:
canvas.create_rectangle(x1. y1. event.x. event.y. width=2. out line=draw_color)
# 원 그리기 모드라면
elif draw_mode == 3:
canvas.create_oval(x1. y1. event.x. event.y. width=2. out line=draw_color)
# 선택 버튼 함수
def selectButton():
global draw_mode
draw_mode = 0
# 선 그리기 버튼 함수
def lineButton():
global draw_mode
draw_mode = 1
# 네모 그리기 버튼 함수
def rectangleButton():
global draw_mode
draw_mode = 2
# 원 그리기 버튼 함수
def circleButton():
global draw_mode
draw_mode = 3
# 검은색 버튼 함수
def blackButton():
global draw_color
draw_color = "black"
# 빨간색 버튼 함수
def redButton():
global draw_color
draw_color = "red"
# 파란색 버튼 함수
def blueButton():
global draw_color
draw_color = "blue"
# 초록 버튼 함수
def greenButton():
global draw_color
draw_color = "green"
# 윈도우를 생성한다
window = tk.Tk()
window.title("점선면 그림판")
#스타일 프레임을 생성한다
style_frame = tk.Frame(window)
style_frame.grid(row=0, column=0, sticky=tk.W)
# 선택 버튼
select_button = tk.Button(style_frame, text=".", width=3, command=selectButton)
select_button.grid(row=0, column=0, sticky=tk.W)
# 선그리기 버튼
line_button = tk.Button(style_frame, text="/", width=3, command=lineButton)
line_button.grid(row=0, column=1, sticky=tk.W)
# 네모그리기 버튼
rectangle_button = tk.Button(style_frame, text="ㅁ", width=3, command=rectangleButton)
rectangle_button.grid(row=0, column=2, sticky=tk.W)
# 원그리기 버튼
circle_button = tk.Button(style_frame, text="ㅇ", width=3, command=circleButton)
circle_button.grid(row=0, column=3, sticky=tk.W)
# 색상 프레임을 생성한다
color_frame = tk.Frame(winfow)
color_frame.grid(row=0, column=0, sticky=tk.E)
# 검은색 버튼
black_button = tk.Button(color_frame, bg="black", width=3, command=blackButton)
black_button.grid(row=0, column=0, sticky=tk.E)
# 빨간색 버튼
red_button = tk.Button(color_frame, bg="red", width=3, command=redButton)
red_button.grid(row=0, column=1, sticky=tk.E)
# 파란색 버튼
blue_button = tk.Button(color_frame, bg="blue", width=3, command=blueButton)
blue_button.grid(row=0, column=2, sticky=tk.E)
#초록색 버튼
green_button = tk.Button(color_frame, bg="green", width=3, command=greenButton)
green_button.grid(row=0, column=3, sticky=tk.E)
#인포 프레임을 생성한다
info_frame = tk.Frame(window)
info_frame.grid(row=1, column=0, columnspan=2)
#마우스 엔트리
mouse_text = tk.StringVar()
mouse_entry = tk.Entry(info_frame, textvariable=mouse_text. width=25)
mouse_entry.grid(row=0. column=1)
#캔퍼스 프레임을 생성한다
canvs_frame = tk.Frame(window, bd=2, bg="black")
canvs_frame.grid(row=2. column=0, columnspan=2. sticky=th.W)
#캔버스 생성한다
canvas = tk. Canvas(canvas_frame. width=400, height=300, bg="black")
canvas.pack()
# 마우스 이벤트 연결
canvas.bind("<Button-1>", mouseLDown)
canvas.bind("<Motion>", mouseMove)
canvas.bind("<Buttonlease-1>", mouseLUp)
window.mainloop()
답변 2
에러 메시지에
몇번째 줄인지도 나오지 않나요?
.(period)와 ,(comma)구분이 없는 거 같습니다.
어휴 테스트 해볼 수 있게 오타부터 고치세요
canvas.create_line(x1. y1. event.x. event.y. width=2. fill=draw_color) <=-- 이게 웝니까?
canvas.bind("<Buttonlease-1>", mouseLUp)<-- ButtonRelease-1 아닌가요?
그외도 오타가 수두룩 합니다