Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

macOS에서 Tkinter 앱을 전체 화면으로 실행하는 방법

Tkinter는 파이썬(Python)의 대표적인 GUI 툴킷으로, 완성도 높은 데스크톱 애플리케이션을 개발하는 데 널리 사용됩니다. 다양한 내장 위젯과 모듈을 제공하기 때문에 종류에 상관없이 거의 모든 형태의 애플리케이션을 만들 수 있으며, 팩토리 함수와 클래스 라이브러리를 활용하면 추가 기능도 손쉽게 구현할 수 있습니다.

Tkinter는 크로스 플랫폼 GUI 라이브러리이기 때문에 윈도우(Windows)용으로 작성된 애플리케이션도 macOS나 리눅스 환경에서 그대로 실행할 수 있습니다. 다만 일부 기능은 플랫폼 간 호환성이 완벽하게 지원되지 않으므로, 이 경우 공식 문서에 명시된 별도의 팩토리 메서드나 함수를 참고해야 합니다.

macOS 전체 화면 구현 예제

예를 들어 macOS에서 tkinter 애플리케이션을 전체 화면으로 표시하려면 먼저 attributes('-fullscreen', True) 메서드를 사용해 앱의 fullscreen 속성을 활성화해야 합니다. 이렇게 하면 애플리케이션 창이 화면 전체를 차지하게 됩니다.

여기에 더해, macOS 상단의 도구 막대(toolbar)까지 숨기고 싶다면 overrideredirect(boolean) 메서드를 함께 사용하면 됩니다. 이 메서드는 불리언(Boolean) 값을 인자로 받아 내비게이션 바의 툴바 표시 여부를 제어합니다. 아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.

# Import the library
from tkinter import *
from tkinter import filedialog

# Create an instance of window
win= Tk()

# Set the geometry of the window
win.geometry("700x350")

# Create a full screen window
win.attributes('-fullscreen', True)
win.overrideredirect(True)

# Create a label
Label(win, text= "Click the button to exit out of the fullscreen", font= ('Aerial 16 bold')).pack(pady= 15)

# Define a function to open a file in the system
def exit_program():
    win.destroy()

# Create a button to trigger the dialog
button = Button(win, text="Exit", command=exit_program)
button.pack(pady= 20)

win.mainloop()

실행 결과

위 코드를 실행하면 버튼과 레이블(Label) 위젯이 포함된 전체 화면 창이 나타납니다. 화면에 배치된 Exit 버튼을 클릭하면 destroy() 메서드가 호출되어 프로그램이 종료되면서 전체 화면 모드가 해제됩니다.

참고로 overrideredirect(True)를 적용하면 닫기 버튼이나 최소화 버튼 같은 기본 창 컨트롤이 사라지기 때문에, 전체 화면 모드에서 벗어날 수 있는 종료 버튼을 직접 만들어 두는 것이 좋습니다. 이는 사용자 경험 측면에서도 매우 중요한 부분입니다.

macOS에서 Tkinter 앱을 전체 화면으로 실행하는 방법