PyGTK est-il toujours pertinent?

11

Je suis nouveau sur Linux mais pas pour le développement d'applications. Je viens d'un RealBasic sur un fond Mac.

J'ai accepté d'avoir besoin d'apprendre un nouveau langage à développer pour Linux (puisque RB ne fonctionnera pas sur les distributions 64 bits et est un langage propriétaire fermé) mais je veux m'assurer de choisir le bon.

J'ai regardé Python et j'étais prêt à continuer jusqu'à ce que je lise que PyGTK devient obsolète avec l'introduction de GTK 3. Est-ce vrai? Le site Web du développeur Ubuntu semble toujours le recommander avec Glade pour l'interface utilisateur, mais je veux m'assurer que je n'apprends pas quelque chose qui est en train de disparaître!

Nootrino
la source
puisque vous voulez apprendre quelque chose de nouveau, vous pouvez jeter un œil à wxPython et Pyside. Je suggère wxPython car il aura un avantage si vous passez en C ++ un jour, le portage vers wxWidgets est un jeu d'enfant. Pyside est une chose Python-for-QT mais je n'ai aucune expérience avec ça! Juste un conseil
Stefano Mtangoo

Réponses:

9

La réponse courte est non.

PyGTK est progressivement supprimé et remplacé par PyGObject à mesure que l'ensemble de widgets passe de GTK + 2 à GTK + 3. Depuis Oneiric, toutes les applications ubuntu «natives» s'exécutent à l'aide de l'ensemble GTK + 3 .

Sur une note personnelle, j'ai récemment commencé à développer une application en Python, et après l'avoir examinée, j'ai décidé d'utiliser Python3 avec PySide (qui est Qt4 au lieu de GTK + 3) parce que j'ai trouvé que Python 3 serait la norme dans l'année ou alors il m'a fallu écrire le programme, et parce que Qt4 a une très bonne documentation, et des logiciels de développement de première classe (juste une piste de Qt 4 Designer ...)

thomasmichaelwallace
la source
5
Astuce: la variété GTK + du concepteur Qt existe et est appelée glade.
aquaherd
Je trouve cela très difficile à comprendre étant venu d'un REALbasicenvironnement de développement protégé. Tout ce que je veux pouvoir faire, c'est créer une application dont l'interface graphique semble «native» ou conforme au thème sur une version moderne d'Ubuntu ou de Mint. Je veux aussi vraiment pouvoir concevoir l'interface graphique dans un éditeur (WYSIWYG) et le lier avec du code Python. Compte tenu de ces informations supplémentaires - dans quelle direction pensez-vous que je devrais me diriger? Existe-t-il un équivalent QT de Glade?? (aussi @aquaherd)
Nootrino
1
L'équivalent Qt de Glade est Qt4 Designer. En Python, vous construisez généralement l'interface, puis la chargez en tant que classe. Pour les applications simples, vous pouvez réellement tout dessiner dans votre propre code, mais pour les interfaces graphiques plus complexes, il est plus facile d'utiliser un programme comme Qt Designer qui générera le code pour vous. Ensuite, il vous suffit d'écrire le code reliant les événements GUI à vos fonctions.
thomasmichaelwallace
1
Sur une note spécifique à Qt: PySide et PyQt sont des bibliothèques très similaires pour lier python à une interface Qt. La principale différence entre eux est la licence (c'est-à-dire que Pyqt ne vous permet pas de publier votre code sous la licence LGPL) et l'espace de noms (par exemple, importez PySide ou importez PyQt). Je fais cette remarque car PyQt a beaucoup plus de tutoriels et de screencasts qui sont susceptibles de vous aider sur votre chemin, mais PySide est plus préférable car il a un PPA, une licence moins restrictive et est officiellement pris en charge.
thomasmichaelwallace
2
Je ne peux pas vous dire si vous devez vous diriger vers la route GTK + ou QT, car les deux boîtes à outils conviennent, mais puisque vous avez demandé si pygtk était pertinent, j'ai supposé que vous étiez déjà réglé sur GTK +. Si c'est toujours le cas et compte tenu de l'arrière-plan REALbasic, jetez un œil à gambasce qui est un IDE de base GTK +. Généralement, en ayant à l'esprit la multiplateforme, il est avantageux d'apprendre le C / C ++ et de séparer l'interface utilisateur de la logique d'application et de compiler le front-end avec une boîte à outils native. Par exemple, transmission, un client bittorrent issu de la plate-forme Mac, utilise du quartz sur Mac et GTK + sur le reste.
aquaherd
0

PyGTK et pyGOBJECT ne sont plus la méthode recommandée pour développer des applications pour Ubuntu. Le site Web des développeurs Ubuntu recommande désormais QML pour les applications Ubuntu.

Tachyons
la source