IT story

파이썬을 사용하여 직접 실행 가능한 크로스 플랫폼 GUI 앱을 어떻게 만들 수 있습니까?

hot-time 2020. 4. 7. 08:32
반응형

파이썬을 사용하여 직접 실행 가능한 크로스 플랫폼 GUI 앱을 어떻게 만들 수 있습니까?


파이썬은 여러 플랫폼에서 작동하며 데스크톱 및 웹 응용 프로그램에 사용할 수 있으므로 Mac, Windows 및 Linux 용 실행 파일로 컴파일 할 수있는 방법이 있다고 결론지었습니다.

문제는 어디서 GUI를 시작 해야하는지 또는 어떻게 작성 해야할지 모르겠습니다. 누구든지 이것에 대해 밝힐 수 있고 올바른 방향으로 나를 가리킬 수 있습니까?


먼저 파이썬 바인딩을 사용하는 GUI 라이브러리가 필요하고 파이썬 스크립트를 독립 실행 파일로 변환하는 프로그램이 필요합니다.

Python 바인딩을 사용하는 크로스 플랫폼 GUI 라이브러리 (Windows, Linux, Mac)

물론 많은 것들이 있지만 내가 야생에서 본 가장 인기있는 것은 다음과 같습니다.

  • Tkinter - Tk GUI 툴킷 기반 (파이썬 용 사실상의 표준 GUI 라이브러리, 상용 프로젝트 무료)
  • WxPython - WxWidgets 기반 (상업용 프로젝트의 경우 무료)
  • PyQt 바인딩을 사용하는 Qt 또는 Python을위한 Qt . 전자는 상업적인 프로젝트에 대해 무료가 아닙니다. 후자는 덜 성숙하지만 무료로 사용할 수 있습니다.

전체 목록은 http://wiki.python.org/moin/GuiProgramming 에 있습니다 .

단일 실행 파일 (모든 플랫폼)

단일 실행 파일 (Windows)

단일 실행 파일 (Linux)

  • 고정 -py2exe와 동일한 방식으로 작동하지만 Linux 플랫폼을 대상으로 함

단일 실행 파일 (Mac)

  • py2app- 다시, py2exe처럼 작동하지만 Mac OS를 대상으로 함

또 다른 시스템 (아직 허용 된 답변에 언급되지 않음)은 PyInstaller이며 py2exe는 그렇지 않을 때 PyQt 프로젝트에서 작동했습니다. 사용하기 더 쉽다는 것을 알았습니다.

http://www.pyinstaller.org/

Pyinstaller는 Gordon McMillan의 Python Installer를 기반으로합니다. 더 이상 사용할 수 없습니다.


py2exe의 대체 도구는 Windows 및 Linux 용 실행 파일을 생성 하는 bbfreeze 입니다. py2exe보다 최신이며 계란을 잘 처리합니다. 다양한 응용 프로그램을 구성하지 않고도 마술처럼 더 잘 작동한다는 것을 알았습니다.


기본적으로 Gnome Toolkit의 Python 래퍼 인 PyGTK 도 있습니다 . 이전에 GUI 프로그래밍에 대한 지식이 거의 없기 때문에 Tkinter보다 내 마음을 감싸는 것이 더 쉽다는 것을 알았습니다. 꽤 잘 작동하며 좋은 자습서가 있습니다. 불행히도 Windows 용 Python 2.6 용 설치 프로그램이 아직 없으며 한동안은 아닐 수도 있습니다.


파이썬은 현재 기본적으로 거의 모든 비 Windows OS에 설치되어 있으므로 실제로 확인해야 할 유일한 것은 사용하는 모든 비표준 라이브러리가 설치되어 있다는 것입니다.

python 인터프리터 및 사용하는 라이브러리가 포함 된 실행 파일을 빌드 할 수 있습니다. 그러나 이로 인해 큰 실행 파일이 생성 될 수 있습니다.

MacOS X에는 완전한 독립형 GUI 응용 프로그램을 만들기 위해 Xcode IDE에 대한 지원도 포함되어 있습니다. OS X를 실행하는 모든 사용자가이를 실행할 수 있습니다.


GUI 자체의 경우 :

PyQT 는 거의 참조입니다.

빠른 사용자 인터페이스를 개발하는 또 다른 방법은 웹 앱을 작성하고 로컬로 실행하여 브라우저에 앱을 표시하는 것입니다.

또한 lubos hasko에서 제안한 Tkinter 옵션을 사용하는 경우 Python없이 Windows 환경에서 앱을 실행하도록 portablepy를 시도 할 수 있습니다.


이것이 최선의 방법인지 확신 할 수는 없지만 Windows에 Ruby GUI 응용 프로그램을 배포 할 때 (파이썬이 아니지만 .exe와 관련하여 동일한 "문제"가 있음) 내 주요 스크립트를 호출하는 C #의 짧은 실행기. 실행 파일로 컴파일 한 다음 응용 프로그램 실행 파일이 있습니다.


# I'd use tkinter for python 3

import tkinter

tk = tkinter.Tk()
tk.geometry("400x300+500+300")
l = Label(tk,text="")
l.pack()
e = Entry(tk)
e.pack()

def click():
    e['text'] = 'You clicked the button'

b = Button(tk,text="Click me",command=click)
b.pack()

tk.mainloop()

# After this I would you py2exe
# search for the use of this module on stakoverflow
# otherwise I could edit this to let you know how to do it

py2exe

그런 다음 py2exe를 사용하여 사용자가 자신의 PC에서 파이썬을 사용하지 않은 경우에도 앱을 실행하는 데 필요한 모든 파일을 하나의 폴더에 가져와야합니다 (Windows에 대해 이야기하고 있습니다 ... 애플 OS의 경우 필요가 없습니다) python과 함께 설치 파일을 설치할 필요가 없으므로 실행 파일을 생각합니다.

이 파일을 작성하십시오

1) setup.py를 만듭니다

이 코드로 :

from distutils.core import setup
import py2exe

setup(console=['l4h.py'])

폴더에 저장

2) 프로그램을 setup.py와 같은 폴더에 넣습니다.이 폴더에 배포 할 프로그램을 넣으십시오. es : l4h.py

추신 : 파일 이름을 변경하십시오 (l4h에서 원하는 것으로 바꾸십시오).

3) 실행 폴더에 마우스 오른쪽 버튼으로 클릭 + 이동과 여기에 cmd를 시작 선택) (해당 폴더에서 cmd를
cmd를 4) 쓰기 :> 파이썬 setup.py py2exe에
5) DIST 모든 당신이 필요로하는 파일이있는 폴더
6)을 그것을 압축하고 배포 할 수 있습니다

파이 설치자

cmd에서 설치

**

pip install pyinstaller

**

파일이있는 폴더의 cmd에서 실행하십시오.

**

pyinstaller 파일 .py

**


PySimpleGUI는 tkinter를 감싸고 Python 3 및 2.7에서 작동합니다. 또한 모든 플랫폼에 동일한 소스 코드를 사용하여 Qt, WxPython 및 웹 브라우저에서 실행됩니다.

tkinter에서 찾은 동일한 위젯 (슬라이더, 체크 박스, 라디오 버튼 등)을 모두 사용하는 사용자 정의 GUI를 만들 수 있습니다. 코드는 매우 간결하고 읽기 쉬운 경향이 있습니다.

#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
    import PySimpleGUI as sg
else:
    import PySimpleGUI27 as sg

layout = [[ sg.Text('My Window') ],
          [ sg.Button('OK')]]

window = sg.Window('My window').Layout(layout)
button, value = window.Read()

게시 된 PySimpleGUI 코드에서 생성 된 이미지

PySimpleGUI Documentation에 설명 된대로 실행 하는 .EXE 파일빌드하십시오 .

pyinstaller -wF MyGUIProgram.py


Mac / Windows / Linux 용 Python 컴파일 할 필요는 없습니다 . 이 언어는 통역 된 언어이므로 선택한 시스템에 Python 통역사를 설치하면됩니다 (세 가지 플랫폼 모두에서 사용 가능).

크로스 플랫폼에서 작동하는 GUI 라이브러리는 Python의 Tk / Tcl 위젯 라이브러리가 매우 잘 작동하며 충분히 크로스 플랫폼이라고 생각합니다.

Tkinter 는 Tk / Tcl에 대한 파이썬 인터페이스입니다

파이썬 프로젝트 웹 페이지에서 :

Tkinter는 Python을위한 유일한 GuiProgramming 툴킷이 아닙니다. 그러나 가장 일반적으로 사용되는 것으로 Unix, Mac 및 Windows간에 이식 가능한 거의 유일한 것입니다.


appJar기본 GUI 개발에 사용할 수 있습니다 .

from appJar import gui

num=1

def myfcn(btnName):   
    global num
    num +=1
    win.setLabel("mylabel", num)

win = gui('Test')

win.addButtons(["Set"],  [myfcn])
win.addLabel("mylabel", "Press the Button")

win.go()

실행할 때 GUI

appJar 사이트의 설명서를 참조하십시오 .

pip install appjar명령 줄에서 설치 합니다.

참고 URL : https://stackoverflow.com/questions/2933/how-can-i-create-a-directly- executable-cross-platform-gui-app-using-python

반응형