Итак создадим оконное приложение,с использованием изображений в качестве фона.
Что нам понадобится:
Python 3.3 — Интерпретатор питон. Скачать тут
Картинка по размеру окна(можно больше).
Большая кружка кофе.
Устанавливаем интерпретатор питона,добавляем к переменной PATH,путь к интерпретатору. У меня «I:Python33».
Жмем Пуск и видим(видим?) IDLE (python GUI). Смело жмем на нее. Появляется окошко со стандартным парселтанговским приглашением к вводу «>>>».
Ура! Именно этой штукой мы и будем запускать нашу кулцкодерскую программу. Работать в режиме командной строки нам будет неудобно,
поэтому жмем в левом верхнем углу на меню ‘File’ > ‘New file'(Ctrl+N). В результате чего,появилось пустое окно с гордым названием Untitled.
Собсно это и есть текстовой редактор в котором мы будем работать ( тут даже подсветка синтаксиса есть!(= ).
Для начала укажем кодировку
#-*-coding:utf-8-*-
. Хотя третья ветка питона по умолчанию ориентирована на юникод.
КРАСИВЫЙ ДИЗАЙН PYTHON ПРИЛОЖЕНИЯ при помощи библиотеки CUSTOMTKINTER
Теперь нам необходимо импортировать нужные модули в наш скрипт(иначе откуда мы их возьмем?). Для этого в питоне предусмотрена инструкция
Для начала подключим основные модули-os,time,tkinter:
Источник: annimon.com
Как создать приложение Hello World на Python с помощью Tkinter
М одуль Tkinter или «TK Interface» предоставляет различные классы и функции для создания кроссплатформенных графических приложений на Python с использованием инфраструктуры «Tk UI». Tkinter включен в модули по умолчанию, поставляемые со сборками Python, хотя он поддерживается ActiveState. Это один из самых популярных наборов инструментов с графическим интерфейсом, доступных для Python, который полезен как для создания быстрых прототипов, так и для разработки полноценных приложений. Эта статья содержит руководство по установке Tkinter в Linux, некоторые примеры кода и их объяснение для создания простого приложения «Hello World».
Установка Tkinter
Вы можете установить Tkinter для Python 3 в Ubuntu, выполнив команду, указанную ниже:
$ sudo apt install python3-tk
Tkinter можно установить в других дистрибутивах Linux из диспетчера пакетов.
Чтобы убедиться, что Tkinter успешно установлен в вашей системе, выполните команду, указанную ниже:
$ python3 -m tkinter
Если Tkinter был установлен правильно, вы должны увидеть такое окно графического интерфейса.
Вы также можете использовать интерпретатор Python для проверки установки Tkinter. Для этого выполните последовательно следующие команды (последние две команды будут выполняться в интерпретаторе Python):
$ python3
import tkinter print (tkinter.TclVersion)
Создание приложения Hello World с помощью Tkinter
Вы можете создать простое приложение с надписью «Hello World !!» строка, используя пример кода, указанный ниже:
Изучение TKinter за 8 минут / Разработка GUI программы на Python
from tkinter import * root = Tk() root.title(«Hello World») main_string = Label(root, text=»Hello World !!») main_string.pack() root.mainloop()
Первый оператор в приведенном выше примере кода импортирует необходимые функции из модуля Tkinter. Вместо импорта определенных функций все импортируется сразу с использованием символа «*» (звездочка). Затем определяется главное приложение или корневое окно и устанавливается заголовок «Hello World».
Новый виджет с надписью «Hello World !!» строка создается в следующем операторе. Метод «pack» используется для автоматического изменения размера и соответствия области окна положению и площади виджета без отключения видимости виджета, поскольку геометрия не указана. Наконец, запускается основной цикл событий, который прослушивает пользовательские события, такие как действия ввода с клавиатуры и мыши. После успешного выполнения основного цикла вы должны увидеть следующее окно приложения:
Читать Основные типы данных в Python 3. Логические значения
Обратите внимание, что заголовок приложения не полностью отображается в строке заголовка. Метод «pack» без аргументов автоматически подгоняет главное окно приложения под область видимых виджетов. Поскольку окно приложения слишком маленькое, вы можете вручную указать его размер, используя метод «геометрии», чтобы предотвратить автоматическое подгонку.
from tkinter import * root = Tk() root.title(«Hello World») root.geometry(«640×480″) main_string = Label(root, text=»Hello World !!») main_string.pack() root.mainloop()
Вы также можете добавить аргумент padding к методу pack, используемому для виджета метки, чтобы увеличить область главного окна приложения путем растяжения виджета.
from tkinter import * root = Tk() root.title(«Hello World») main_string = Label(root, text=»Hello World !!») main_string.pack(padx=50, pady=50) root.mainloop()
Два аргумента, padx и pady, определяют интервалы по горизонтали и вертикали соответственно с обеих сторон виджета.
Метод Pack — один из наиболее важных методов, которые вы будете использовать при создании пользовательских интерфейсов с использованием библиотеки Tkinter. Виджеты не будут отображаться в главном фрейме приложения, если вы не вызовете метод pack для каждого виджета, который вы определили в коде. Вы можете использовать метод pack для определения динамической и фиксированной геометрии и положения виджетов. Виджеты могут быть упакованы друг в друга для создания вложенных виджетов. Вы можете узнать больше о методе pack и еще несколько примеров из его справочника по использованию.
Дальнейшее чтение
Чтобы узнать больше о Tkinter API, вы можете использовать руководство, доступное в официальной документации Python. TkDocs предлагает отличное руководство, которое может помочь создать ваше первое приложение Tkinter, хотя руководство может быть немного сложным для абсолютных новичков. Вы можете найти официальные руководства Tkinter, которые включают определения и примеры API, на веб-сайте Tcl Developer Xchange. На странице Python Wiki Tkinter есть множество ссылок, которые могут помочь вам начать работу.
Заключение
В этой статье рассматривается только простой пример для начала работы с приложениями Tkinter. Вы можете создавать расширенные графические интерфейсы с помощью Tkinter, но для приложений, требующих сложных элементов пользовательского интерфейса, многие разработчики предпочитают PyQt, а не Tkinter. PyQt также имеет больше встроенных виджетов, чем Tkinter, включая графический пакет для разработки приложений с использованием действий перетаскивания.
Источник: andreyex.ru
Библиотека Python: Работа с PyQt
Сразу предупредим: для работы с этой библиотекой (как, впрочем, и с любой другой) лучше подтянуть английский. Если вы всё время откладывали этот нелёгкий процесс, то изучение Python станет триггером снова возобновить совершенствование языка. Не секрет, что лучшие результаты показывают уроки с учителем английского носителя языка (для которого он родной). Пожалуй, обучение именно в таком формате даёт максимальную эффективность по понимаю речи и чтению без словаря. Для будущего программиста это очень важно, особенно когда замаячит релокейт.
Что такое PyQt
PyQt — реализация мощного фреймворка Qt для языка Python. В основном, для создания GUI, используется именно он, хотя в питоне есть и встроенный фреймворк — tkinter. Основное понятие в PyQt — это виджет. Виджет — это своеобразный элемент управления, которые мы можем «подогнать» под свой дизайн, свой интерфейс.
Как же создается интерфейс для приложения в PyQt? Сделать это можно как программно, через код, так и в дизайнере — специальном GUI-конструкторе. Продвинутые разработчики рекомендуют использовать именно программный способ — в этом случае вы получаете полный контроль над интерфейсом и понимаете суть работы с ним.
Пишем интерфейс
Установить PyQt можно через консоль — командой pip install pyqt5 , либо вбив PyQt5 в настройках интерпретатора.
Как мы уже писали выше — будет неплохо научиться писать интерфейсы через код, а не собирать его посредством подхода WYSIWYG. Для этого в PyQt есть встроенная среда для разработки графических интерфейсов (GUI) под названием QtDesigner. Сейчас же мы разберем простой пример, где мы «вручную» создадим элемент графического интерфейса — обычное окно. Для начала мы импортируем все виджеты из библиотеки pyqt — объекты для отображения интерфейса: from PyQt5.QtWidgets import QApplication, QWidget . QWidget — это базовый класс для всех элементов.
Далее пропишем объект-приложение. Это необходимо для возможности запуска приложения: app = QApplication(sys.argv) . Команда обязательная. Создаем объект класса — w = QWidget() . Теперь пропишем параметры нашего окна (в пикселях): w.resize(350, 250) . Следующий параметр позволяет нам запускать окно там, где необходимо на экране: w.move(500, 500) . Далее сделаем нужный заголовок: w.setWindowTitle(‘Storydigital.ru’) и сделаем его «видимым» командой show: w.show() . Запуск приложения осуществляется так: sys.exit(app.exec_())
import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == ‘__main__’: app = QApplication(sys.argv) w = QWidget() w.resize(350, 250) w.move(500, 500) w.setWindowTitle(‘Digital2.ru’) w.show() sys.exit(app.exec_())
Продвинутый вариант
Теперь рассмотрим более сложный пример с наличием toolbar’а в нашем мини-приложении. Здесь дополнительно импортируется модуль QMainWindow для создания главного окна. Там где будут располагаться все элементы интерфейса. Создавая класс мы наследуемся именно от него — class Example(QMainWindow) . Так же мы вызываем метод класса — self.initUI() — он отвечает за инициализацию этого самого окна.
В этом примере мы создаем кнопку в панели инструментов — self.toolbar = self.addToolBar(‘Exit’) . Пока у нас один «экшн» — это выход из программы. Он реализуется с помощью обработчика нажатия (triggered — проверка нажатия кнопки). Связываем событие нажатие с обработчиком. В нашем случае он стандартный. Полная конструкция выглядит так: exitAction.triggered.connect(qApp.quit)
import sys from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication from PyQt5.QtGui import QIcon class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): # action — это то действие, которое будет выполняться при нажатии exitAction = QAction(QIcon(‘exit.png’), ‘Exit’, self) exitAction.setShortcut(‘Ctrl+Q’) exitAction.triggered.connect(qApp.quit) self.toolbar = self.addToolBar(‘Exit’) self.toolbar.addAction(exitAction) self.setGeometry(300, 300, 300, 200) self.setWindowTitle(‘SuperApp’) self.show() if __name__ == ‘__main__’: app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
Подключение интерфейса
Допустим, вы нарисовали свой интерфейс через приложение Qt Designer. У нас есть файл .ui. Как его связать с кодом приложения? Для этого используется модуль uic из библиотеки PyQt5. Конкретно — функция uic.loadUi(‘interface.ui’, self).
from PyQt5 import QtWidgets, uic import sys class MyWindow(QtWidgets.QWidget): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) uic.loadUi(‘Interface.ui’, self) self.btnQuit.clicked.connect(QtWidgets.qApp.quit) if __name__ == ‘__main__’: app = QtWidgets.QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_())
Источник: storedigital.ru