Jak lze vytvořit přímo spustitelný cross-platformní GUI aplikace pomocí jazyka Python?

hlasů
224

Python pracuje na různých platformách a mohou být použity pro desktopové a webové aplikace, a tak jsem dospěla k závěru, že existuje nějaký způsob, jak ho sestavit do spustitelného souboru pro Mac, Windows a Linux.

Problém je nemám ponětí, kde začít, nebo jak psát GUI s tím, může někdo vrhnout nějaké světlo na toto téma a místo mě tím správným směrem, prosím?

Položena 05/08/2008 v 23:26
zdroj uživatelem
V jiných jazycích...                            


11 odpovědí

hlasů
232

Za prvé, budete potřebovat nějaký GUI knihovnu s Python vázání a poté (chcete-li) nějaký program, který převede vaše python skripty do samostatných spustitelných souborů.

Cross-platformní GUI knihovny s Pythonu (Windows, Linux, Mac)

Samozřejmě, že existuje mnoho, ale nejvíce populární, že jsem viděl ve volné přírodě jsou:

  • Tkinter - založený na Tk GUI toolkit (de-facto standard GUI knihovna pro Python, zdarma pro komerční projekty)
  • WxPython - na základě wxWidgets (velmi populární, zdarma pro komerční projekty)
  • PyQt - založený na Qt (také velmi populární a stabilnější než wxWidgets, ale nákladné licence pro komerční projekty)

Kompletní seznam je http://wiki.python.org/moin/GuiProgramming

Single spustitelný soubor (Windows)

  • py2exe - Pravděpodobně nejpopulárnější tam venku ( PyInstaller je také získává na popularitě)

Single spustitelný (Linux)

  • Freeze - funguje stejným způsobem jako py2exe ale cílí na linuxovou platformu

Single spustitelný soubor (Mac)

  • py2app - opět funguje jako py2exe ale cílí na Mac OS
Odpovězeno 05/08/2008 v 23:34
zdroj uživatelem

hlasů
47

Další systém (není uvedeno v přijatém odpověď zatím) je PyInstaller, který pracoval na projektu PyQt dolu když py2exe nebude. Zjistil jsem to jednodušší.

http://www.pyinstaller.org/

Pyinstaller je založeno na Python Instalační Gordona McMillan je. Která již není k dispozici.

Odpovězeno 28/08/2008 v 09:41
zdroj uživatelem

hlasů
14

Alternativní nástroj pro py2exe je bbfreeze který generuje spustitelné soubory pro Windows a Linux. Je to novější než py2exe a zpracovává vejce docela dobře. Zjistil jsem, že magicky funguje lépe bez konfigurace pro širokou škálu aplikací.

Odpovězeno 15/08/2008 v 12:56
zdroj uživatelem

hlasů
11

K dispozici je také PyGTK , což je v podstatě Python wrapper pro Gnome Toolkit. Jsem zjistil, že je jednodušší zabalit mou mysl kolem než Tkinter, které pocházejí z skoro bez znalosti programování GUI dříve. To funguje docela dobře a má některé dobré cvičení. Bohužel zde není instalační program pro Python 2.6 pro Windows ještě, a nemusí být na chvíli.

Odpovězeno 05/11/2008 v 16:53
zdroj uživatelem

hlasů
6

Vzhledem k tomu, python je nainstalován na téměř všechny non-OS Windows standardně teď, jediná věc, kterou opravdu potřebují, aby se ujistil, že jsou nainstalovány všechny nestandardních knihoven, které používáte.

Z uvedeného vyplývá, že je možné stavět spustitelné soubory, které zahrnují IRP, a všechny knihovny, které používáte. To je pravděpodobné, že k vytvoření velké spustitelný, nicméně.

MacOS X zahrnuje i podporu v Xcode IDE pro vytváření plných samostatných GUI aplikace. Ty lze spustit libovolný uživatel se systémem OS X.

Odpovězeno 06/08/2008 v 01:29
zdroj uživatelem

hlasů
4

Pro samotné GUI:

PyQt je do značné míry referenční.

Dalším způsobem, jak vytvořit rychlé uživatelské rozhraní je napsat webovou aplikaci, nechte jej spustit místně a zobrazit aplikace v prohlížeči.

Navíc, pokud jdete na možnost Tkinter navrhl Luboš Hasko budete chtít zkusit portablepy mít vaše aplikace běží na prostředí Windows bez Python.

Odpovězeno 19/08/2008 v 10:45
zdroj uživatelem

hlasů
4

Nejsem si jistý, že je to nejlepší způsob, jak to udělat, ale když jsem nasazování Ruby GUI aplikace (ne Python, ale má stejný „problém“, pokud jde o EXE je se obávají) v systému Windows, jen jsem napsat krátká launcher v jazyce C #, který volá na můj hlavní scénář. Sestavuje na spustitelný soubor, a pak mám spustitelná aplikace.

Odpovězeno 15/08/2008 v 13:00
zdroj uživatelem

hlasů
2
# 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

Pak byste měli použít py2exe, například, aby v jedné složce všechny soubory potřebné ke spuštění aplikace, a to iv případě, že uživatel nemá python na svém PC (mluvím oken ... pro jablečnou os není potřeba spustitelného souboru, myslím, jak to přijde s python v něm bez nutnosti instalovat jej.

Vytvořit tento soubor

1) Vytvořte setup.py

s tímto kódem:

od distutils.core nastavení import import py2exe

Nastavení (console = [ 'l4h.py'])

uložit do složky

2) Dejte svůj program ve stejné složce setup.py dal v této složce na program, který chcete, aby to distribuitable: ES: l4h.py

ps: změna názvu souboru (od l4h na cokoliv chcete, to je příklad)

3) Spustit cmd z této složky (u složky, klepněte pravým tlačítkem myši + Shift a zvolte spustit zde cmd) 4) psát cmd:> python setup.py py2exe 5) v dist složce jsou všechny soubory, které potřebujete, 6), které jej zip a distribuovat

Odpovězeno 31/01/2017 v 19:51
zdroj uživatelem

hlasů
1

PySimpleGUI zábaly Tkinter a pracuje na Python 3 a 2,7. Můžete si vytvořit vlastní GUI, které využívají všechny stejné widgetů, které najdete v Tkinter (posuvníků, zaškrtávací políčka, přepínače, ...). Kód má tendenci být velmi kompaktní a čitelné.

#!/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()

Obraz vytvořený z vyslaného kódu PySimpleGUI

Jak již bylo vysvětleno v PySimpleGUI dokumentaci , aby stavět soubor .exe spuštění:

pyinstaller -wf MyGUIProgram.py

Odpovězeno 09/10/2018 v 12:30
zdroj uživatelem

hlasů
1

Nemusíte se kompilovat Python pro Mac / Windows / Linux. Je interpretovaný jazyk, takže stačí mít tlumočníka Python nainstalované v systému podle svého výběru (je k dispozici pro všechny tři platformy).

Pokud jde o GUI knihovnu, která pracuje multiplatformní, Python Tk / Tcl widgetu knihovna funguje velmi dobře, a věřím, že je dostatečně multiplatformní.

Tkinter je Python rozhraní k Tk / Tcl

Z webové stránky projektu python:

Tkinter není jediným GuiProgramming toolkit pro Python. Je však nejčastěji používají jeden, a téměř jediný, který je přenositelný mezi Unix, Mac a Windows

Odpovězeno 05/08/2008 v 23:40
zdroj uživatelem

hlasů
0

Můžete použít appJarpro základní vývoj 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 při spuštění

Viz dokumentaci appJar místě .

Instalace se provádí pomocí pip install appjarz příkazové řádky.

Odpovězeno 08/06/2017 v 10:21
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more