События в pyQt 4 — python и окна

Мы создадим простое окошко с кнопкой. По клику по кнопке завершим приложение.
Здесь не будет программирования классов и тд.
Запишем код «как говорится» в столбик и посмотрим, что выйдет.

Первым делом укажем кодировку и импортируем qt либы:

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import sys

Создадим идентификатор приложения:

app = QtGui.QApplication(sys.argv)

Теперь создаём окно из класса QWidget:

window = QtGui.QWidget()
window.setWindowTitle(u"Первая программа на PyQt")

Зададим размер:

window.resize(300, 70)

Текстовая метка:

label = QtGui.QLabel(u"<center>Привет, мир!</center>")

Кнопка при клике по которой завершаем приложение:

btnQuit = QtGui.QPushButton(u"&Закрыть окно")

Добавим виджеты в вертикальный контейнер:

vbox = QtGui.QVBoxLayout()
vbox.addWidget(label)
vbox.addWidget(btnQuit)
window.setLayout(vbox)

Теперь воспользуемся механизмом сигналов и слотов для определения действия при клике по кнопке:

QtCore.QObject.connect(btnQuit, QtCore.SIGNAL("clicked()"),
QtGui.qApp, QtCore.SLOT("quit()"))

Соединяем сигнал клика по кнопке и слот выхода из приложения.
Показываем окно:

window.show()

И переходим к циклу ожидания событий:

sys.exit(app.exec_())

Весь скрипт целиком:

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import sys
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.setWindowTitle(u"Первая программа на PyQt")
window.resize(300, 70)
label = QtGui.QLabel(u"<center>Привет, мир!</center>")
btnQuit = QtGui.QPushButton(u"&Закрыть окно")
vbox = QtGui.QVBoxLayout()
vbox.addWidget(label)
vbox.addWidget(btnQuit)
window.setLayout(vbox)
QtCore.QObject.connect(btnQuit, QtCore.SIGNAL("clicked()"),
QtGui.qApp, QtCore.SLOT("quit()"))
window.show()
sys.exit(app.exec_())

При выполнение вы увидите окно как на скрине выше. 
ps не забываем устанавливать либы pyQt

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий