Python에서 GUI 데스크톱 응용 프로그램 만들기
12476 단어 PySimpleGUIPython
PysimpleGUI는 어떤 사람입니까?
PysimpleGUI란 무엇입니까?
PySimpleGUI는 Python 패키지로 모든 레벨의 Python 프로그래머가 GUI를 만들 수 있도록 합니다.작은 위젯이 포함된 레이아웃을 사용하여 GUI 창을 지정합니다(PysimpleGUI를 요소라고 함).레이아웃은 네 개의 지원되는 프레임 중 하나를 사용하여 창을 만들고 창을 보고 조작하는 데 사용됩니다.지원하는 프레임워크는 tkinter, Qt, WxPython, WxPython 또는 Remi를 포함합니다.이런 포장은 때때로 "포장기"라는 용어를 사용한다.
PysimpleGUI는'보일러판 코드'를 많이 설치했기 때문에 기초 프레임워크에서 직접 기술한 코드보다 간단하고 짧다.그 밖에 인터페이스는 가능한 한 필요한 결과를 얻는 데 필요한 코드를 적게 얻기 위해 간소화된다.사용하는 프로그램과 프레임워크에 따라 PysimpleGUI의 프로그램은 그 중 하나의 프레임워크를 직접 사용하여 같은 창을 만드는 것보다 코드 양이 1/2에서 1/10 사이일 수 있습니다.
대상은 사용 중인 GUI 프레임워크의 특정 대상과 코드를 봉인하고 숨기는 것이지만, 필요에 따라 프레임에 의존하는 작은 위젯과 창에 직접 접근할 수 있습니다.구성 및 기능이 공개되지 않고 PysimpleGUI API를 사용하여 액세스할 수 없는 경우 프레임워크가 차단되지 않습니다.PysimpleGUI 패키지 자체를 직접 변경하지 않고 기능을 확장할 수 있습니다.
(아래 웹 사이트의 기술에서 직접 붙여넣기)
github,readme를 통해 일본어 대응판을 확인했습니다.
• 특히, 가장 큰 장점은 파이썬으로 간단하게 GUI를 만들 수 있다는 것이다
다른 것은 tkinter, Qt, WxPython 등이 있는데, 나는 "WxPython"을 사용하지만, 다른 것보다
나는 코드를 매우 짧게 쓰지 말라고 생각한다.
설치 방법 pip install pysamplegui
↓ 학습원은 다음과 같은 내용을 사용하기 때문에 이에 따라 진행한다.
금방 쓸게요.
import PySimpleGUI as sg
sg.Window(title="hello world", layout=[[]], margins=(500, 400)).read()
다음 단계는 이벤트와 단추를 만드는 것입니다.
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import Window
layout = [[sg.Text("hello")], [sg.Button("OK")]]
#create window
Window = sg.Window("demo", layout)
#event roop
while True:
event, values = Window.read()
if event == "OK" or event == sg.WIN_CLOSED:
break
window.close()
PySimpleGUI는 다양한 패키지를 제공합니다.
그 중 일부를 사용하여 이미지를 추출하는 프로그램을 만듭니다.
import PySimpleGUI as sg
import os.path
file_list_column = [
[
sg.Text("Image Folder"),
sg.In(size=(25, 1), enable_events=True, key="-FOLDER-"),
sg.FolderBrowse(),
],
[
sg.Listbox(values=[],
enable_events=True,
size=(40, 20),
key="-FILE LIST-")
],
]
image_viewer_column = [
[sg.Text(":")],
[sg.Text(size=(40, 1), key="-TOUT-")],
[sg.Image(key="-IMAGE-")],
]
layout = [[
sg.Column(file_list_column),
sg.VSeperator(),
sg.Column(image_viewer_column),
]]
window = sg.Window("Image Viewer", layout)
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
if event == "-FOLDER-":
folder = values["-FOLDER-"]
try:
# Get list of files
file_list = os.listdir(folder)
except:
file_list = []
fnames = [
f for f in file_list
if os.path.isfile(os.path.join(folder, f)) and f.lower().endswith((
".png", ".gif"))
]
window["-FILE LIST-"].update(fnames)
elif event == "-FILE LIST-":
try:
filename = os.path.join(values["-FOLDER-"], values["-FILE LIST-"][0])
window["-TOUT-"].update(filename)
window["-IMAGE-"].update(filename=filename)
except:
pass
window.close()
완성했습니다.
파일을 지정한 후 이미지 파일 목록을 표시하고 왼쪽에 이미지를 표시합니다.
감상
라즈파에 연결이 돼서 뭐든지 편하게 할 수 있는 느낌이에요.
~~~ 끝~~
Reference
이 문제에 관하여(Python에서 GUI 데스크톱 응용 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/salem333/items/b4046b75bb832414a111
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pip install pysamplegui
↓ 학습원은 다음과 같은 내용을 사용하기 때문에 이에 따라 진행한다.금방 쓸게요.
import PySimpleGUI as sg
sg.Window(title="hello world", layout=[[]], margins=(500, 400)).read()
다음 단계는 이벤트와 단추를 만드는 것입니다.import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import Window
layout = [[sg.Text("hello")], [sg.Button("OK")]]
#create window
Window = sg.Window("demo", layout)
#event roop
while True:
event, values = Window.read()
if event == "OK" or event == sg.WIN_CLOSED:
break
window.close()
PySimpleGUI는 다양한 패키지를 제공합니다.
그 중 일부를 사용하여 이미지를 추출하는 프로그램을 만듭니다.
import PySimpleGUI as sg
import os.path
file_list_column = [
[
sg.Text("Image Folder"),
sg.In(size=(25, 1), enable_events=True, key="-FOLDER-"),
sg.FolderBrowse(),
],
[
sg.Listbox(values=[],
enable_events=True,
size=(40, 20),
key="-FILE LIST-")
],
]
image_viewer_column = [
[sg.Text(":")],
[sg.Text(size=(40, 1), key="-TOUT-")],
[sg.Image(key="-IMAGE-")],
]
layout = [[
sg.Column(file_list_column),
sg.VSeperator(),
sg.Column(image_viewer_column),
]]
window = sg.Window("Image Viewer", layout)
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
if event == "-FOLDER-":
folder = values["-FOLDER-"]
try:
# Get list of files
file_list = os.listdir(folder)
except:
file_list = []
fnames = [
f for f in file_list
if os.path.isfile(os.path.join(folder, f)) and f.lower().endswith((
".png", ".gif"))
]
window["-FILE LIST-"].update(fnames)
elif event == "-FILE LIST-":
try:
filename = os.path.join(values["-FOLDER-"], values["-FILE LIST-"][0])
window["-TOUT-"].update(filename)
window["-IMAGE-"].update(filename=filename)
except:
pass
window.close()
완성했습니다.
파일을 지정한 후 이미지 파일 목록을 표시하고 왼쪽에 이미지를 표시합니다.
감상
라즈파에 연결이 돼서 뭐든지 편하게 할 수 있는 느낌이에요.
~~~ 끝~~
Reference
이 문제에 관하여(Python에서 GUI 데스크톱 응용 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/salem333/items/b4046b75bb832414a111
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import PySimpleGUI as sg
import os.path
file_list_column = [
[
sg.Text("Image Folder"),
sg.In(size=(25, 1), enable_events=True, key="-FOLDER-"),
sg.FolderBrowse(),
],
[
sg.Listbox(values=[],
enable_events=True,
size=(40, 20),
key="-FILE LIST-")
],
]
image_viewer_column = [
[sg.Text(":")],
[sg.Text(size=(40, 1), key="-TOUT-")],
[sg.Image(key="-IMAGE-")],
]
layout = [[
sg.Column(file_list_column),
sg.VSeperator(),
sg.Column(image_viewer_column),
]]
window = sg.Window("Image Viewer", layout)
while True:
event, values = window.read()
if event == "Exit" or event == sg.WIN_CLOSED:
break
if event == "-FOLDER-":
folder = values["-FOLDER-"]
try:
# Get list of files
file_list = os.listdir(folder)
except:
file_list = []
fnames = [
f for f in file_list
if os.path.isfile(os.path.join(folder, f)) and f.lower().endswith((
".png", ".gif"))
]
window["-FILE LIST-"].update(fnames)
elif event == "-FILE LIST-":
try:
filename = os.path.join(values["-FOLDER-"], values["-FILE LIST-"][0])
window["-TOUT-"].update(filename)
window["-IMAGE-"].update(filename=filename)
except:
pass
window.close()
Reference
이 문제에 관하여(Python에서 GUI 데스크톱 응용 프로그램 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/salem333/items/b4046b75bb832414a111텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)