Чи є Python хорошим вибором для розробки інтерфейсів? Якщо так, то wxPython чи Tkinter?


12

Я з нетерпінням чекаю розробити настільний додаток за допомогою Python. Я початківець і не маю достатнього досвіду в Python. Я також програміст Java. Хоча я маю певний досвід у створенні інтерфейсів користування Swing, я бачу, що програми, розроблені на Swing, занадто прокляті. Ну, це може бути однією з причин, чому багато основних реалізацій виконуються в C / C ++, як у браузерах / іграх.

Розробка інтерфейсу в C ++ може бути кращим варіантом, але я вважаю за краще вибрати мову програмування високого рівня, ніж C / C ++. Тому я вибрав припущення, що Python вважає, що він буде працювати над Java Swing, оскільки сам Python побудований на C / C ++.

Тож чи можу я продовжувати це припущення, що Python кращий за Java Swing для розробки інтерфейсу? Або ви пропонуєте мову, кращу за Python, для розробки інтерфейсів? Якщо я взагалі продовжую роботу з Python, який інструментарій я повинен використовувати Tkinter або wxPython і чому?


4
Ваші припущення здаються хибними. Python побудований на C / C ++, але так само JVM (найімовірніше).
користувач281377

Навіщо обмежувати себе Tkinter та wxPython?
Анто

2
Я не намагаюся обмежувати себе. У мене було враження, що це два добре відомі набори інструментів для розвитку графічного інтерфейсу.
Вамсі Емані

Lazarus IDE, Free Pascal Compiler та Object Pascal створює дуже швидкий і простий спосіб розробки графічних інтерфейсів.
системович

Відповіді:


15

Я тільки почав розробку програми для настільних ПК Windows, використовуючи python. Я використовую PyQt .

Встановити та вставити та працювати дуже просто. Підручник тут: http://zetcode.com/tutorials/pyqt4/firstprograms/ показує, як легко, я покажу код:

#!/usr/bin/python

# simple.py

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()

sys.exit(app.exec_())

Це вам відкриє вікно.

Я вибрав Python / PyQt над C # / WPF, тому що хочу навчитися пітон, і мій роботодавець приділяє мені час.

Мій менеджер порекомендував мені PyQt над іншими рамками, так як за його досвідом це легше використовувати.



Раніше я використовував PySide, і він працює досить добре. Однак майбутня розробка PySide знаходиться в дещому сенсі, оскільки Nokia продала Qt.
поштовх

5

Якщо ви хочете розробити власний графічний інтерфейс для Windows або OSX, я б радив використовувати Tkinter (тобто бібліотеку GUI Tk з пітонічним одягом), оскільки це набагато наблизить вас до рідного вигляду, ніж wxPython (wxWidgets для python) . Мені не зручно кількісно оцінити, але на мій погляд скріншоти Windows та OSX . YMMV. Я точно знаю, що Tk ( важливо: з набором віджетів Ttk) дуже сильно виглядає.

Якщо ви розробляєте для Linux ... Я не можу чесно радити один за іншим, оскільки я втратив інформацію про те, що там виглядає поточна прихильна платформа. :-)


1
Зауважте, що Tkinter не надає безліч часто використовуваних віджетів поза коробкою. Наприклад, якщо ви хочете, щоб панель прогресу була вам, вам доведеться або написати один, або знайти того, хто його написав інший.
Джеймс

1
Зачекайте, але wxWidgets використовує вбудовані елементи графічного інтерфейсу. Принаймні, зв'язки C ++ є. Я не так впевнений у Python.
Чжехао Мао

@ZhehaoMao wxWidgets - це поєднання рідних та неродніх елементів. Деякі елементи виглядають подібними до рідних, але насправді побудовані на замовлення для більш єдиного API.
Hubert Grzeskowiak

3

Я б сказав, що це вдалий вибір, якщо ви вже знаєте і подобаєтесь Python. В іншому випадку використовуйте мову, яку ви вже знаєте, а саме Java. Єдиним винятком тут є те, якщо це навчальний проект, і в такому випадку я б припустив, що набути досвіду з іншими мовами було б хорошою ідеєю.

Моя думка в тому, що Python насправді не є кращим чи гіршим, ніж Java для програм UI, тому використовуйте той інструмент, з яким ви любите працювати.


1

Єдина реальна порада, яку можна дати на всі подібні запитання, - це "спробуйте і подивіться, чи сподобалось вам" - думки інших людей щодо мов програмування (особливо щодо тих, які можуть бути їх найулюбленішими або ненависнішими мовами) рідко вартують багато .

Однак мої 5 копійок коштують - за збір швидких, простих інтерфейсів Windows, комбінація Python і wxWidgets працює дуже добре. Але, як я вже сказав, спробуйте це самі - ви можете скласти щось просте, але корисне за годину або близько того, навіть без особливого досвіду Python (я, звичайно, не дуже багато).


1

У випадку, якщо хтось опиниться тут за допомогою пошукової системи: ви можете швидко створити кілька прикладів Tkinter за допомогою генератора PAGE. Він генерує якийсь гідний код, який дасть вам уявлення про те, що потрібно, щоб потрапити туди, куди ви хочете піти. Це, безумовно, вимагає погодитися із загальністю, як стверджує автор, але для того, хто хоче перевірити води або отримати загальне уявлення про те, куди вони йдуть, це хороший інструмент. PAGE у SourceForge .


-1

Я думаю, що певні типи додатків досить керовані для запису в Python.

Наприклад, Coach Task написаний на Python / wxPython. Вони використовують компілятор Python2exe, як py2app, py2exe тощо, щоб створити крос-платформні, натурні виконуючі файли.


-1

Якщо ви обмежуєтесь розвитком в екосистемі Windows і використовуєте Visual Studio, то розгляньте Iron Python. Iron Python є об'єктами Python плюс .NET.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.