본문 바로가기

Software/Python

[Python] 데스크톱 GUI 앱 만들기 / 로또번호생성 프로그램 예제

728x90

tkinter를 사용하여 GUI 프로그램 만들기

import tkinter

window = tkinter.Tk()       # 윈도우 객체 생성
window.title("가상화폐 금액표시")
window.geometry("400x200")      # 사이즈 설정
window.resizable(False, False)      # 가로세로 크기 조절 못하도록 설정

# hello 문자열 출력
label = tkinter.Label(window, text="hello")    
label.pack()

# GUI를 계속 실행하기 위해 mainloop 실행
window.mainloop()

< exe 실행파일 만들고 응용프로그램으로 실행 >

pyinstaller 라이브러리 설치

pip install pyinstaller

 

실행파일 만드는 명령어

pyinstaller -w -F 파일이름.py

 

==> 완료 후 dist 폴더에 실행파일 생성됨

 

ex) 로또 번호 랜덤 생성 프로그램 만들기

import tkinter
import tkinter.font
import random

lotto_num = range(1, 46)

def buttonClick():
    for i in range(5):
        lottoPick = map(str, random.sample(lotto_num, 6))       # 랜덤으로 생성된 번호 6개를 map함수를 사용하여 문자열로 변환
        lottoPick = ','.join(lottoPick)     # 문자열 리스트를 합쳐서 하나의 문자열로 변환. 중간에 ,(콤마)를 추가
        lottoPick = str(i+1) + "회: " + lottoPick
        print(lottoPick)
        listbox.insert(i, lottoPick)        # 리스트박스에 값을 넣는다.
    listbox.pack()

window = tkinter.Tk()
window.title("lotto")
window.geometry("400x200+800+300")
window.resizable(False, False)

button = tkinter.Button(window, overrelief="solid", text="번호확인", width=15, command=buttonClick, repeatdelay=1000, repeatinterval=100)
button.pack()

# 리스트 박스를 생성 -----------------------------------------------------------------
font = tkinter.font.Font(size = 20)
listbox = tkinter.Listbox(window, selectmode='extended', height=5, font=font)
listbox.insert(0, "1회:")
listbox.insert(1, "2회:")
listbox.insert(2, "3회:")
listbox.insert(3, "4회:")
listbox.insert(4, "5회:")
listbox.pack()
# ---------------------------------------------------------------------------------


window.mainloop()

728x90