Рекомендований інструментарій графічного інтерфейсу для розробки Python на Raspberry Pi


31

Я навчаю свою доньку Пітон (і себе певною мірою), використовуючи Pi, і до цього часу ми чудово провели час - але CLI може зайняти нас поки що. Я почав переглядати інші набори інструментів, зокрема wx , Qt та GTK . Взагалі, вони, як правило, мають великі зв'язки для Linux, хоча я не в змозі знайти багато інформації, характерної для Raspberry Pi. Я також відкритий для інших наборів інструментів - до тих пір, поки питонні прив'язки хороші.

Хтось має досвід кодування однієї з них на пі? Чи потрібна проста apt-getкоманда, яку потрібно виконати, щоб встановити необхідні пакети? А ще краще, чи є готовий інструментарій для роботи із запасним зображенням Raspbian?

Примітка: Зараз я без проблем використовую Raspbian, хоча Arch спокушає через важкі проблеми ABI з моно.

Відповіді:


22

Я рекомендував би Tkinter, це стандартна бібліотека графічного інтерфейсу для Python, і в результаті вже встановлена. IDLE IDE (який входить до зображення Raspbian) підтримує не тільки Tkinter, але й сам додаток Tkinter. Крім того, більшість книг Python включатимуть щонайменше розділ про створення графічного інтерфейсу за допомогою Tkinter. Якщо ви віддаєте перевагу веб-ресурсам, ви захочете ознайомитись з підручником Tkinter Pythonware's . Додаткову інформацію та ресурси можна знайти на сторінці Tkinter Python.org .


Для підручника з Tkinter посилання на другу сторінку - ось вступ, якщо хтось цього хоче: pythonware.com/library/tkinter/introduction/whats-tkinter.htm
Анонімний пінгвін

2

Я робив трійку часу з Tkinter 15 років тому, потім через кілька років я щось робив з Wx. Поки мені вдалося зробити речі, я знайшов їх обох трохи нудними. Я не знаю, наскільки ситуація покращилася після того, як я востаннє ними користувався - чи наскільки моє власне навчання зробило б їх сьогодні легшими.

Однак за останні кілька місяців я досліджував PySide , який є програмою, сумісною з PyQt. Неймовірно корисним є конструктор Qt , який дозволяє перетягувати та випускати компоненти (кнопки, циферблати, повзунки, прапорці тощо) та зберігати їх як XML-файл із розширенням ".ui". pyside-uic потім зчитує це і виробляє код Python. Є кілька ВЕЛИКІ відео з підручника.

Бо Міланович має серію з 29 відео про Udemy (за 15 доларів), яку я щойно завершив, але також має кілька безкоштовних, перелічених на сайті Qt: http://wiki.qt.io/PySide_Video_Tutorials . Бо може бути трохи «відволікається» на своїх уроках, гуляючи по дотичних, але для 29 уроків в середньому по 30 хвилин кожен, він, безумовно, коштував 15 доларів.

Нещодавно я також знайшов " Qt Designer - PyQt з програмуванням навчального програмування Python GUI " ( https://www.youtube.com/watch?v=Dmo8eZG5I2w ). Це привело мене до сайту презентації, який пропонує вступ до Qt, Tkinter та Kivy https://pythonprogramming.net/gui-development-tutorials/ . Я не переглядав їх, але грунтуючись на навчальному посібнику Qt Designer, який я дивився, я з нетерпінням чекаю тих, хто на pythonprogramming.net.

Деякої офіційної документації PyQt та PySide трохи не вистачає. Значна частина була перетворена за допомогою деякого автоматизованого процесу з оригінальної документації Qt, і біти були втрачені при перекладі. Отже, якщо документів на https://pyside.github.io/docs/pyside/ не вистачає, перегляньте документи на веб- сайті http://doc.qt.io/ і спробуйте перекласти те, що ви прочитали, на Python. Але спочатку дивіться підручники, оскільки вони пройдуть вас довгий шлях.

Я коротко переглянув GTK кілька років тому. У ньому також є дизайнер, поляна. Я розглядав можливість спуститися цією дорогою знову, але для речей, які мене цікавили, за Qt, здавалося, було більше енергії. Я ПОТРІБНО починаю досліджувати Ківі, як це здається, рекомендується для роботи з сенсорним екраном.

Трохи пізно, але сподіваюся, це допомагає.


1

tkinter - це розширення GUI на TCL, яке було використано дуже рано в циклі розробки Python. IDLE командна оболонка Python використовує tkinter.

для GUI вам потрібна служба xorg-x11 (демон) та менеджер презентацій. X11 - це місце, де живуть драйвери пристроїв відображення. Там імена починаються з xorg-x11-drv-xxxxx. X11 - контролер HID (Human Interface Device). Миші, планшети, клавіатури тощо також підключаються до служби x11.

Мій керівник презентації - Gnome, але їх є щонайменше 1/2 десятка. Я розумію, що Xfce - це один з найлегших.

Для інструментів розробки GUI Python я використовую DrPython (редагування коду, перевірка синтаксису та налагодження). wxGlade - це середовище розробки графічного інтерфейсу Python, досить схоже на Visual Basic. Обидва програми є wxPython і не потребують привілеїв root. Їх можна завантажити з sourceforge.net

Мій R-Pi-3b під замовлення. У моєї онучки вже є одна, саме тому було розміщено замовлення. Я займаюся програмуванням понад 60 років, а в Python - більше десяти років. Я розробив ряд компіляторів для користувацьких мов та додатків для клієнтів / серверів для домашньої автоматизації.


1

Я розробив GUI-додаток, яке працює на малиновому пі 2,3. Я використовував і tkinter, і pyQt4.

Але там, де і tkinter, і pyQt4 вимагає набагато більше кодування для розміщення віджетів, і це потребує багато часу для розташування компонувань.

На мою пропозицію використовувати дизайнер QT4 для створення вашого інтерфейсу. Це дуже просто через функцію перетягування, пізніше ви можете генерувати python script .py з файлу .ui за допомогою команди pyuic4, а також можете додавати зображення у свій інтерфейс за допомогою дизайнера qt4 для що ви повинні створити файл resosurce.rc, який згодом вам доведеться перетворити за допомогою команди pyrcc.

Доступно кілька навчальних посібників.


0

Погляньте на appJar. У ньому немає особливостей перетягування QT4 Designer, про які говорилося вище, але ви можете створити приємний графічний інтерфейс всього за кілька хвилин, залежно від того, що ви намагаєтеся виконати. Документи на своїй веб-сторінці показують безліч чудових прикладів. http://appjar.info/


-2

ідіть на pygtk - це найкращий та міцний рок-стан, але простий для початківців


5
Деякі додаткові деталі допоможуть покращити цю відповідь (що робить її найкращим порівняно з іншими альтернативами, як я її встановити, що робить її легкою).
Стів Робільярд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.