Как создать непосредственно исполняемое кроссплатформенное приложение с графическим интерфейсом пользователя с помощью Python?

Python работает на нескольких платформах и может использоваться для настольных и веб-приложений, поэтому я делаю вывод, что существует способ скомпилировать его в исполняемый файл для Mac, Windows и Linux.

Проблема в том, что я понятия не имею, с чего начать и как написать графический интерфейс пользователя, может ли кто-нибудь пролить свет на это и направить меня в нужном направлении?

Решение

Сначала вам понадобится библиотека GUI с привязкой к Python, а затем (если хотите) программа, которая преобразует ваши скрипты на Python в автономные исполняемые файлы.

Кроссплатформенные библиотеки GUI с привязкой к Python (Windows, Linux, Mac).

Конечно, их много, но самые популярные, которые я видел в природе, это:

  • Tkinter - основана на Tk GUI toolkit (де-факто стандартная библиотека GUI для python, бесплатная для коммерческих проектов)
  • WxPython - основана на WxWidgets (популярная, бесплатная для коммерческих проектов)
  • Qt с использованием связки PyQt или Qt for Python. Первый не является бесплатным для коммерческих проектов. Второй менее развит, но может быть использован бесплатно.

Полный список находится на http://wiki.python.org/moin/GuiProgramming.

Одиночный исполняемый файл (все платформы)

  • PyInstaller - самый активный
  • fbs - если вы выбрали Qt выше

Единый исполняемый файл (Windows)

  • py2exe - раньше был самым популярным

Одиночный исполняемый файл (Linux)

  • Freeze - работает так же, как py2exe, но нацелен на платформу Linux.

Единый исполняемый файл (Mac).

  • py2app - опять же, работает как py2exe, но предназначен для Mac OS
Комментарии (7)

Другой системой (не упомянутый в принятом ответе все же) является PyInstaller, который работал на мой проект PyQt, когда py2exe не будет. Я нашел легче использовать.

http://www.pyinstaller.org/

Pyinstaller основан на Гордоне McMillan' s Инсталлятор Питона. Который больше не доступен.

Комментарии (3)

Альтернативный инструмент к py2exe [bbfreeze] (http://pypi.python.org/pypi/bbfreeze/), который производит исполняемые файлы для окон и Linux. It' s более новый, чем py2exe и яйца ручек вполне хорошо. I' ve нашел, что волшебно работает лучше без конфигурации для большого разнообразия заявлений.

Комментарии (0)

There' s также PyGTK, который является в основном оберткой Пайтона для Набора инструментов Гнома. I' ve нашел легче обернуть мой ум вокруг, чем Tkinter, происходящий из в значительной степени никакого знания графический интерфейса пользователя, программирующего ранее. Это работает вполне прилично и имеет некоторые хорошие обучающие программы. К сожалению, там isn' t инсталлятор для Пайтона 2.6 для Windows все же, и может не быть некоторое время.

Комментарии (0)

Поскольку python по умолчанию установлен почти на всех ОС, отличных от Windows, единственное, в чем вам действительно нужно убедиться, так это в том, что все нестандартные библиотеки, которые вы используете, установлены.

Тем не менее, можно создавать исполняемые файлы, включающие интерпретатор python и все используемые библиотеки. Однако это, скорее всего, приведет к созданию большого исполняемого файла.

MacOS X даже включает поддержку в Xcode IDE для создания полноценных автономных приложений с графическим интерфейсом. Их может запускать любой пользователь OS X.

Комментарии (0)

Для самого графический интерфейса пользователя:

PyQT - в значительной степени ссылка.

Другой способ развивать быстрый пользовательский интерфейс состоит в том, чтобы написать веб-приложение, имейте его пробег в местном масштабе и покажите приложение в браузере.

Плюс, если Вы идете для выбора Tkinter, предложенного lubos hasko Вы можете хотеть попробовать portablepy, чтобы работать на Вашем приложении окружающая среда Windows без Пайтона.

Комментарии (0)

I' m не уверенный, что это - лучший способ сделать это, но когда I' m развертывание Рубиновых приложений графический интерфейса пользователя (не Пайтон, но имеет тот же " problem" до .exe' s затронуты) на Windows, я просто пишу короткую пусковую установку в C#, который обращается к моему главному сценарию. Это собирает к исполняемому файлу, и у меня тогда есть прикладной исполняемый файл.

Комментарии (3)
# 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
< h1> py2exe Тогда Вы должны использовать py2exe, например, чтобы ввести одну папку, все файлы должны были управлять приложением, даже если у пользователя нет питона на его PC (я говорю об окнах... для рта яблока нет никакой потребности исполняемого файла, я думаю, поскольку это идет с питоном в нем без любой потребности установки его. < h1> Создайте этот file
  1. Создайте setup.py

    с этим кодексом:

from distutils.core import setup
import py2exe

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

сохраните его в папке

  1. Поместите свою программу в той же папке setup.py вставьте эту папку программа, Вы хотите сделать его distribuitable: es: l4h.py

PS: поменяйте имя файла (от l4h до чего-либо, что Вы хотите, который является примером),

  1. cmd, которым управляют, от той папки (на папке, щелкните правой кнопкой мыши +, перемещают и выбирают начало cmd здесь),
  2. напишите в cmd:> питон setup.py py2exe
  3. в dist папке есть все файлы, в которых Вы нуждаетесь
  4. Вы можете застегнуть его и распределить его
< h2> Pyinstaller < h3> Установите его от cmd

**

зернышко устанавливает pyinstaller

**

< h3> Управляйте им от cmd от папки где файл is **

pyinstaller file.py

**

Комментарии (0)

PySimpleGUI обертывает tkinter и работы над Пайтоном 3 и 2.7. Это также работает на QT, WxPython и в веб-браузере, используя тот же исходный код для всех платформ.

Вы можете сделать таможенные графический интерфейсы пользователя, которые используют все те же виджеты, которые Вы находите в tkinter (ползунки, флажки, радио-кнопки...). Кодекс имеет тенденцию быть очень компактным и удобочитаемым.

#!/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] [1]

Как объяснено в [Документация PySimpleGUI] [2], к строят.EXE файл, Вы бежите:

pyinstaller-wF MyGUIProgram.py

[2]: http://www. PySimpleGUI.org

Комментарии (0)

Вам не нужно компилировать python для Mac/Windows/Linux. Это интерпретируемый язык, поэтому вам просто нужно установить интерпретатор Python на выбранную вами систему (он доступен для всех трех платформ).

Что касается кроссплатформенной библиотеки GUI, то библиотека виджетов Tk/Tcl в Python работает очень хорошо, и я считаю ее достаточно кроссплатформенной.

Tkinter - это интерфейс Python к Tk/Tcl.

С веб-страницы проекта python:

Tkinter - это не единственный GuiProgramming инструментарий для Python. Однако он является самым наиболее часто используемым, и почти > единственным. единственный, который переносится между Unix, Mac и Windows.

Комментарии (6)

Вы можете использовать 'appJar' для основной разработки графический интерфейсов пользователя.

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()

! [Графический интерфейс пользователя, бегая] [1]

См. документацию в appJar место.

Установка сделана с 'зернышком, устанавливают appjar' из командной строки.

Комментарии (0)