summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ru-ru/pyqt-ru.html.markdown83
1 files changed, 83 insertions, 0 deletions
diff --git a/ru-ru/pyqt-ru.html.markdown b/ru-ru/pyqt-ru.html.markdown
new file mode 100644
index 00000000..7693551c
--- /dev/null
+++ b/ru-ru/pyqt-ru.html.markdown
@@ -0,0 +1,83 @@
+---
+category: tool
+tool: PyQT
+filename: learnpyqt-ru.py
+translator:
+ - ["Vadim Toptunov", "https://github.com/VadimToptunov"]
+---
+
+**Qt** - широко известный кросс-платформенный фреймворк для разработки программного обеспечения,
+который может быть использован на различных софтварных и хардварных платформах без какого-либо
+изменения в коде. Данный фреймворк при этом обладает мощью и скоростью нативных приложений.
+Qt и был изначально написан на *C++*.
+
+Данный текст является адаптацией введения в Qt на C++ под авторством Алексея Ковальчука для pyqt.
+
+
+```python
+
+def window():
+ # Создайте объект приложения
+ app = QtGui.QApplication(sys.argv)
+ # Создайте виджет, где будет находиться наш лейбл
+ w = QtGui.QWidget()
+ # Добавьте лейбл в виджет
+ b = QtGui.QLabel(w)
+ # Задайте текст для лейбла
+ b.setText("Hello World!")
+ # Задайте информация о размере и расположении
+ w.setGeometry(100, 100, 200, 50)
+ b.move(50, 20)
+ # Задайте заголовок окна
+ w.setWindowTitle("PyQt")
+ # Все ранее написанное выводится на экран
+ w.show()
+ # Настройка
+ sys.exit(app.exec_())
+
+if __name__ == '__main__':
+ window()
+
+```
+
+Для того, чтобы получить более продвинутые функции приложения в pyqt, нам необходимо
+обратить внимание на создание дополнительных элементов. Ниже представлено создание всплывающего диалогового окна, которое просит пользователя подтвердить его решение или предоставить какую-либо
+информацию.
+
+```Python
+import sys
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+
+
+def window():
+ app = QApplication(sys.argv)
+ w = QWidget()
+ # Создайте кнопку и прикрепите ее к виджету w
+ b = QPushButton(w)
+ b.setText("Press me")
+ b.move(50, 50)
+ # Укажите b вызвать эту функцию при клике мышкой
+ # Заметьте, что в вызове функции отсутствуют "()"
+ b.clicked.connect(showdialog)
+ w.setWindowTitle("PyQt Dialog")
+ w.show()
+ sys.exit(app.exec_())
+
+Данная функция должна создавать диалоговое окно с кнопкой, которая ждет клика по себе
+и затем завершает программу.
+
+def showdialog():
+ d = QDialog()
+ b1 = QPushButton("ok", d)
+ b1.move(50, 50)
+ d.setWindowTitle("Dialog")
+ # Эта модальность сообщает всплывающему окну блокировать родительский элемент, пока он активен
+ d.setWindowModality(Qt.ApplicationModal)
+ # Процесс завершается по клику мышкой
+ b1.clicked.connect(sys.exit)
+ d.exec_()
+
+if __name__ == '__main__':
+ window()
+```