user interface - Comment puis-je créer directement

Translate

Python fonctionne sur plusieurs plates-formes et peut être utilisé pour les applications de bureau et Web, j'en conclus donc qu'il existe un moyen de le compiler en un exécutable pour Mac, Windows et Linux.

Le problème étant que je n'ai aucune idée par où commencer ou comment écrire une interface graphique avec elle, est-ce que quelqu'un peut m'éclairer à ce sujet et me diriger dans la bonne direction s'il vous plaît?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Vous aurez d'abord besoin d'une bibliothèque GUI avec des liaisons Python, puis (si vous le souhaitez) d'un programme qui convertira vos scripts python en exécutables autonomes.

Bibliothèques d'interface graphique multiplateforme avec liaisons Python (Windows, Linux, Mac)

Bien sûr, il y en a beaucoup, mais les plus populaires que j'ai vus dans la nature sont:

  • Tkinter- basé surBoîte à outils Tk GUI(bibliothèque GUI standard de facto pour python, gratuite pour les projets commerciaux)
  • WxPython- basé surWxWidgets(populaire, gratuit pour les projets commerciaux)
  • Qten utilisant leLiaisons PyQtouQt pour Python. Le premier n'est pas gratuit pour les projets commerciaux. Ce dernier est moins mature, mais peut être utilisé gratuitement.

La liste complète est àhttp://wiki.python.org/moin/GuiProgramming

Exécutable unique (toutes les plates-formes)

Exécutable unique (Windows)

  • py2exe- était le plus populaire

Exécutable unique (Linux)

  • Geler- fonctionne de la même manière que py2exe mais cible la plate-forme Linux

Exécutable unique (Mac)

  • py2app- encore une fois, fonctionne comme py2exe mais cible Mac OS
La source
Translate

Un autre système (non encore mentionné dans la réponse acceptée) est PyInstaller, qui a fonctionné pour un de mes projets PyQt alors que py2exe ne le ferait pas. Je l'ai trouvé plus facile à utiliser.

http://www.pyinstaller.org/

Pyinstaller est basé sur l'installateur Python de Gordon McMillan. Qui n'est plus disponible.

La source
Translate

Un outil alternatif à py2exe estbbfigerqui génère des exécutables pour Windows et Linux. Il est plus récent que py2exe et gère assez bien les œufs. J'ai trouvé que cela fonctionne mieux par magie sans configuration pour une grande variété d'applications.

La source
Translate

Il y a aussiPyGTK, qui est essentiellement un wrapper Python pour le Gnome Toolkit. J'ai trouvé plus facile de comprendre mon esprit que Tkinter, venant de pratiquement aucune connaissance de la programmation GUI auparavant. Cela fonctionne plutôt bien et contient de bons tutoriels. Malheureusement, il n'y a pas encore de programme d'installation pour Python 2.6 pour Windows, et peut-être pas avant un certain temps.

La source
Translate

Étant donné que python est maintenant installé par défaut sur presque tous les systèmes d'exploitation non Windows, la seule chose dont vous devez vraiment vous assurer est que toutes les bibliothèques non standard que vous utilisez sont installées.

Cela dit, il est possible de créer des exécutables qui incluent l'interpréteur python et toutes les bibliothèques que vous utilisez. Cependant, cela risque de créer un exécutable volumineux.

MacOS X inclut même la prise en charge dans l'IDE Xcode pour la création d'applications GUI autonomes complètes. Ceux-ci peuvent être exécutés par n'importe quel utilisateur exécutant OS X.

La source
Translate

Pour l'interface graphique elle-même:

PyQTest à peu près la référence.

Une autre façon de développer une interface utilisateur rapide consiste à écrire une application Web, à l'exécuter localement et à afficher l'application dans le navigateur.

De plus, si vous optez pour l'option Tkinter suggérée par lubos hasko, vous voudrez peut-être essayer portablepy pour que votre application s'exécute sur l'environnement Windows sans Python.

La source
Translate

Je ne suis pas sûr que ce soit la meilleure façon de le faire, mais lorsque je déploie des applications Ruby GUI (pas Python, mais a le même «problème» en ce qui concerne .exe) sur Windows, j'écris juste un lanceur court en C # qui fait appel à mon script principal. Il se compile en un exécutable, et j'ai alors un exécutable d'application.

La source
Translate
# 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

Ensuite, vous devez utiliser py2exe, par exemple, pour mettre dans un dossier tous les fichiers nécessaires à l'exécution de l'application, même si l'utilisateur n'a pas de python sur son pc (je parle de windows ... pour le système d'exploitation Apple, il n'y a pas besoin d'un fichier exécutable, je pense, car il est livré avec python sans avoir besoin de l'installer.

Créez ce fichier

1) Créez un setup.py

avec ce code:

from distutils.core import setup
import py2exe

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

enregistrez-le dans un dossier

2) Mettez votre programme dans le même dossier de setup.py mettez dans ce dossier le programme que vous souhaitez le rendre distribuable: es: l4h.py

ps: changez le nom du fichier (de l4h à ce que vous voulez, c'est un exemple)

3) Exécutez cmd à partir de ce dossier (sur le dossier, faites un clic droit + Maj et choisissez Démarrer cmd ici)
4) écrire dans cmd:> python setup.py py2exe
5) dans le dossier dist, il y a tous les fichiers dont vous avez besoin
6) vous pouvez le compresser et le distribuer

Pyinstaller

Installez-le à partir de cmd

**

pip installer pyinstaller

**

Exécutez-le à partir de la cmd du dossier où se trouve le fichier

**

pyinstaller file.py

**

La source
Translate

PySimpleGUI enveloppe tkinter et fonctionne sur Python 3 et 2.7. Il fonctionne également sur Qt, WxPython et dans un navigateur Web, en utilisant le même code source pour toutes les plateformes.

Vous pouvez créer des interfaces graphiques personnalisées qui utilisent tous les mêmes widgets que vous trouvez dans tkinter (curseurs, cases à cocher, boutons radio, ...). Le code a tendance à être très compact et lisible.

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

Image created from posted PySimpleGUI code

Comme expliqué dans leDocumentation PySimpleGUI, àconstruire le fichier .exevous courez:

pyinstaller -wF MyGUIProgram.py

La source
Translate

Tu n'as pas besoin decompilerpython pour Mac / Windows / Linux. C'est un langage interprété, il vous suffit donc d'installer l'interpréteur Python sur le système de votre choix (il est disponible pour les trois plates-formes).

Quant à une bibliothèque GUI qui fonctionne sur plusieurs plates-formes, PythonTk / TclLa bibliothèque de widgets fonctionne très bien, et je pense qu'elle est suffisamment multiplateforme.

Tkinterest l'interface python vers Tk / Tcl

Depuis la page Web du projet python:

Tkinter n'est pas la seule boîte à outils GuiProgramming pour Python. C'est cependant le plus couramment utilisé, et presque le seul qui soit portable entre Unix, Mac et Windows

La source
Translate

Vous pouvez utiliserappJarpour le développement GUI de base.

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 when running

Voir la documentation sursite appJar.

L'installation se fait avecpip install appjardepuis la ligne de commande.

La source