= PyQt - набор «привязок» графического фреймворка Qt = [[http://www.riverbankcomputing.com/software/pyqt/intro|PyQt]] — набор «привязок» графического фреймворка Qt для языка программирования Python, выполненный в виде расширения Python. !PyQt разработан британской компанией Riverbank Computing. !PyQt работает на всех платформах, поддерживаемых Qt: GNU/Linux и другие UNIX-подобные ОС, Mac OS X и Windows. Существует 2 варианта: !PyQt4, поддерживающий Qt 4 и устаревший !PyQt3, поддерживающий Qt 3 и более ранние версии. !PyQt распространяется под лицензиями GPL (2 и 3 версии) и коммерческой. !PyQt практически полностью реализует возможности Qt. А это более 600 классов, более 6000 функций и методов, включая: * Существующий набор виджетов графического интерфейса; * стили виджетов; * доступ к базам данных с помощью SQL (ODBC, MySQL, PostgreSQL, Oracle); * QScintilla, основанный на Scintilla виджет текстового редактора; * поддержку интернационализации (i18n); * парсер XML; * поддержку SVG; * интеграцию с !WebKit, движком рендеринга HTML; * поддержку воспроизведения видео и аудио. !PyQt также включает в себя Qt Designer (Qt Creator) — дизайнер графического интерфейса пользователя. Программа pyuic генерирует Python код из файлов, созданных в Qt Designer. Это делает !PyQt очень полезным инструментом для быстрого прототипирования. Кроме того, можно добавлять новые графические элементы управления, написанные на Python, в Qt Designer. Раньше !PyQt поставлялся вместе со средой разработки Eric, написанной на !PyQt. Eric имеет встроенный отладчик и может быть использована для создания консольных программ. Теперь она доступна в качестве отдельного проекта. '''Пример: программа Hello World''' {{{#!highlight python #!/usr/bin/python import sys from PyQt4 import QtGui, QtCore class mainWindow(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setWindowTitle('PyQt4 example') self.helloButton = QtGui.QPushButton(self.tr("&Hello")) self.closeButton = QtGui.QPushButton(self.tr("&Close")) vbox = QtGui.QVBoxLayout() vbox.addWidget(self.helloButton) vbox.addWidget(self.closeButton) self.setLayout(vbox) self.resize(250, 150) self.connect(self.helloButton, QtCore.SIGNAL("clicked()"), self.helloClicked) self.connect(self.closeButton, QtCore.SIGNAL("clicked()"), QtCore.SLOT('close()')) def helloClicked(self): QtGui.QMessageBox.information(self, self.windowTitle(), 'Hello, World!') if __name__=="__main__": app = QtGui.QApplication(sys.argv) window = mainWindow() window.show() sys.exit(app.exec_()) }}} {{attachment:pyqt4-example.png}} = См. также = * [[Документации/ВведениеВСредуPyQt4|Введение в среду PyQt4]]