45

Как научиться писать на PyQt?

Приветствую падаван. Сегодня я тебе поведую как легко написать свою первую программу на PyQT.

Что нам для этого понадобиться?
1.Python
2.PyQt
3.Огромное желание

Первая команда в терминале!

pip install PyQt5


После того, как у вас успешно (я на это надеюсь) установился и питон и PyQt, мы можем продолжить работу над нашим первым приложением.

Забыл упомянуть, что приложения на pyqt будут работать как на Mac, так и на Windows, и на Линуксе тоже ничего не будет ломаться.


Начинаем!

Для начало сделаем импорт sys, а также QApplication, QLabel и QMainWindow

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

В PyQt.Widgets хранятся все кнопочки, стрелочки, поля ввода и т.д.

QApplication — наше приложение.Если не будет этого компонента приложение не заработает.
QLabel — это надпись, скоро мы добавим её в наше приложение. Круто, не правда ли?
QMainWindow — главное окно нашего приложение (аналог QWidget, но окон типа QWidget может быть 10 и более в программе, а QMainWindow только одно)

Теперь создадим класс и запустим наше приложение.

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

Мы создали класс Example, он наследуется от нашего QMainWindow, который инициализируется с помощью super().__init__()

Далее мы просто запускаем приложение и показываем его методом show()

Вот что у нас получилось!

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

Выглядит скучновато? Сейчас исправим!

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

Уху, это успех. Мы вставили первый текст. А вот и код! Он легкий и я сделал в коде комментарии, так что не буду отдельно останавливаться на каждой запятой.

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

«Это конечно хорошо» — скажите вы мне — "а где кнопки?".

Ок, сейчас мы сделаем кнопку!

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

Хотя наша кнопка пока ничего не умеет, но программа обрела новые краски. Пользователям стало чем заняться!

Сделаем из нашем программы свой сектор приз, который будет при выпадении 10 очков писать на кнопке что мы виграли, если выпало меньше 10 очков, то проиграли.

В начале программы сделаем импорт choice.

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

А вот код самой кнопки.

Как научиться писать на PyQt? Python, Qt, Qt5, Программирование, Программист, Длиннопост

self.btn.clicked.connect(self.text_shuffle) — событие при клике кнопки.
self.btn.adjustSize() — весь текст кнопки будет вмещаться и не будет вылезать за края.

Весь код с комментариями вы можете посмотреть на моем GitHub

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

1
Автор поста оценил этот комментарий

https://github.com/delvin-fil/simple_ocr

такой пример подойдет?

раскрыть ветку (1)
Автор поста оценил этот комментарий

хороший пример.

2
Автор поста оценил этот комментарий

Из жизни бы примеров, а не для младших классов школы программистов из урока "Делаем кнопку". Да и код на скрине (а не текстом) - это так себе...

раскрыть ветку (1)
Автор поста оценил этот комментарий

Код есть на моем профиле а GitHub, я оставил ссылку в конце

0
Автор поста оценил этот комментарий

Фигово, что QT не особо популярен и больше Tinker или чет-то такое форсят

раскрыть ветку (1)
Автор поста оценил этот комментарий

По моему мнению qt более популярен, чем tkinter. Я писал на Tkinter и даже сделал на нем несколько приложений и игру, но там весь интерфейс нужно писать с нуля, а на qt можно создать свой с помощью qtdesigner. Я покажу как создать крутой интерфейс в следующей статье.

1
Автор поста оценил этот комментарий

автор, спасибо. первый раз увидел, а как это и что. ну хотя бы общее представление получил и понял.

раскрыть ветку (1)
Автор поста оценил этот комментарий

для меня это самое главное

2
DELETED
Автор поста оценил этот комментарий

Да пиши уже грамотно!!!! Поведаю!!!! Выиграли!  Про запятые промолчу уже...

раскрыть ветку (1)
Автор поста оценил этот комментарий

стараюсь :)