PyQT5. Знакомство

PyQt5 устанавливается так же, как и любая другая библиотека в Python:

pip install PyQT5

Все графические приложения состоят из виджетов. Рассмотрим простой пример, создающий пустой виджет.

import sys
from PyQt5.QtWidgets import QApplication, QWidget

 
class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        self.setGeometry(200, 200, 200, 200)
        self.setWindowTitle('Первый опыт')       
        
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec())  

После запуска увидим следующее окно:

Обратим внимание на приложение app = QApplication(sys.argv), в котором размещается виджет. Все разработчика взаимодействие программы с ОС возможно только благодаря этому классу. А в случае запуска программы из командной строки, мы сможем передать ей какие-либо аргументы через список sys.argv.

Добавим теперь кнопку, при нажатию на которую вместо надписи «Кнопка» появится «нажата…». Для этого надо дописать в предыдущий код следующие строки:

self.btn = QPushButton('Кнопка', self)
        self.btn.resize(100, 100)
        self.btn.move(50, 50)
        self.btn.clicked.connect(self.hello)

    def hello(self):
        self.btn.setText('нажата...')

Обратите внимание, что во второй строке необходимо дополнительно загрузить класс QPushButton. В результате получаем следующее окно:

Замечание. Очень долго провозился с ошибкой «PyQt5 и ошибка «This application failed to start because no Qt platfom plugin could be found». Устранение приведено в ролике ниже.

Поделиться:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • StumbleUpon
  • Technorati
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.