파이선 체크박스 저장 & 불러오기 질문

조회수 400회

안녕하세요 다름이 아니라 파이선 체크박스 저장 & 불러오기 좀 질문드릴려고합니다.

입력창에 텍스트 입력후 저장하기를 누르면 *.txt 로 저장을햇다가, 불러오기를 누르게되면 텍스트박스 밑으로 출력이 되게 작성해놨는대요.

다른게 아니라 체크박스에 클릭하고 저장하게되면 "1" 클릭을 안할시 "0"가 저장은 되는데, 불러오기를 할시 메모장에 글자 출력은 잘되지만 체크박스 설정은 안되더라구요. 불러오기에 어떤걸 추가로 작성해야 체크박스 설정을 불러올수잇을까요.

추가로 정보 찾다가 다른분이 예제 올려주신거로 해봤는대, 체크박스가 열(세로)로 있으면 잘 작동은 되는데 위치를 행(가로)로 바꾸게되면, 맨앞에 버튼의 값이 다른 체크박스에도 다 적용이 되더라구요. 이건 어떻게 설정 해야될지 물어봅니다.

*일단은 file_open 쪽에 체크박스 불러오기는 빼논 상태입니다

from tkinter import *

import tkinter as tk

import tkinter.ttk

import tkinter.font

import os

​

window = Tk()

window.title("check box test")

window.geometry('500x300+220+200')

​

​

def save_status():

    e1 = e1_entry.get()

    e2 = e2_entry.get()

    e3 = e3_entry.get()





        with open("c:\\dn\\dn.txt","w") as file:

        file.write(f"{e1}\n{e2}\n{e3}\n")

        file.write('%s\n'%CheckVar1.get())

        file.write('%s\n'%CheckVar2.get())

        file.write('%s\n'%CheckVar3.get())

        file.close()







def file_open():

    with open("c:\\dn\\dn.txt","r") as file:

        data3 = file.readline()

        lbl3_label.config(text=data3)        

        data4 = file.readline()

        lbl4_label.config(text=data4)        

        data5 = file.readline()

        lbl5_label.config(text=data5)

        file.close()



​



def close_sc(event):

    window.quit()

    window.destroy()

​

​



lbl1 = Label(window, text="입력", width=10, font="12")

lbl1.grid(row=1,column=0)

​

e1_entry = Entry(window, width=15)

e1_entry.grid(row=1,column=1)

e2_entry = Entry(window, width=15)

e2_entry.grid(row=1,column=2)

e3_entry = Entry(window, width=15)

e3_entry.grid(row=1,column=3)

​

​



lbl2 = Label(window, text="메모", width=10, font="12")

lbl2.grid(row=2,column=0)

​

lbl3_label = Label(window)

lbl3_label.grid(row=2,column=1)

lbl4_label = Label(window)

lbl4_label.grid(row=2,column=2)

lbl5_label = Label(window)

lbl5_label.grid(row=2,column=3)

​

def status1_print():

    print(CheckVar1.get())

def status2_print():

    print(CheckVar2.get())

def status3_print():

    print(CheckVar2.get()) 

​

CheckVar1=IntVar()

CheckVar2=IntVar()

CheckVar3=IntVar()

​

c1=Checkbutton(window,text="체크",variable=CheckVar1)

c1.grid(row=3,column=1)

c2=Checkbutton(window,text="체크",variable=CheckVar2)

c2.grid(row=3,column=2)

c3=Checkbutton(window,text="체크",variable=CheckVar3)

c3.grid(row=3,column=3)

​

​

button1 = Button(window, text="저장하기", width=12, font=("맑은고딕 12"),

                    bg="yellow", fg="black", command=save_status)

button1.grid(row=0, column=0)

​

button2 = Button(window, text="불러오기", width=12, font=("맑은고딕 12"),

                    bg="yellow", fg="black", command=file_open)

button2.grid(row=0, column=2)

​

​

window.bind('<Escape>', close_sc)

window.mainloop()

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)