개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.06 02:39

session.name에 대한 의문

목록
  • ORM수집가 1일 전 2025.05.06 02:39
  • 2
    1
선생님, session.name 속성을 사용할 때는 어떤 특성들이 있습니다?

그 중에서 session.name 속성에 할당 가능한 값의 타입은 무엇일까요?

아래 예시를 보겠습니다.

python

import tkinter as tk

from tkinter import ttk



class Application(tk.Tk):

    def __init__(tk):

        tk.title("Session Name")

        tk.geometry("400x300")



        label = tk.Label(tk, text="Session Name")

        label.pack()



        entry = tk.Entry(tk)

        entry.pack()



        button = tk.Button(tk, text="확인", command=lambda: print(entry.get()))

        button.pack()



if __name__ - "__main__":

    app = Application()

    app.mainloop()



이 코드에서 session.name 속성을 사용할 수 있는지 알려주실 수 있을까요?

또한, session.name 속성을 사용할 때는 어떤 장점과 단점이 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    session.name 속성을 사용할 때는, tkinter의 Toplevel widget에서만 사용할 수 있습니다.

    예를 들어, 아래와 같은 코드를 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    import tkinter as tk
    
    
    
    root = tk.Tk()
    
    root.title("Session Name")
    
    
    
    def create_session():
    
        session = tk.Toplevel(root)
    
        session.title("Session Name")
    
        session.name = "My Session"
    
    
    
    button = tk.Button(root, text="Create Session", command=create_session)
    
    button.pack()
    
    
    
    root.mainloop()
    
    


    session.name 속성에 할당 가능한 값의 타입은 문자열(string)입니다.

    session.name 속성을 사용할 때의 장점은, Toplevel widget의 이름을 쉽게 관리할 수 있다는 점입니다.

    단점은, session.name 속성을 사용할 때, Toplevel widget의 이름을 변경할 때, 모든 참조를 업데이트해야 한다는 점입니다.

    예를 들어, 아래와 같은 코드를 사용할 수 있습니다.

    #hostingforum.kr
    python
    
    import tkinter as tk
    
    
    
    root = tk.Tk()
    
    root.title("Session Name")
    
    
    
    def change_session_name():
    
        session = tk.Toplevel(root)
    
        session.title("Session Name")
    
        session.name = "My New Session"
    
        # 모든 참조를 업데이트해야 함
    
        for widget in root.winfo_children():
    
            if isinstance(widget, tk.Toplevel):
    
                widget.title("My New Session")
    
    
    
    button = tk.Button(root, text="Change Session Name", command=change_session_name)
    
    button.pack()
    
    
    
    root.mainloop()
    
    


    따라서, session.name 속성을 사용할 때는, 모든 참조를 업데이트해야 하므로, 주의해야 합니다.

    2025-05-06 02:40

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 17,243건 / 14 페이지

검색

게시물 검색