Чтение онлайн

на главную - закладки

Жанры

Программирование на Python3 с PyQt5
Шрифт:

3.1 QWidget и QDialog

Окно

№СвойствоНазначение
Имя окна
Доступность
Размеры
окна, запрет изменения размера
Шрифт, размер шрифта
Вид курсора
Заголовок окна
Иконка окна
Модальность окна (только у QDialog)

self.setWindowTitle('Создание простейшей визуальной программы')

self.setWindowIcon(QtGui.QIcon('images/logo.png'))

class Main(QWidget) или class Main(QDialog)

…

 app = QApplication(sys.argv)

window = Main

window.show

sys.exit(app.exec_)

3.2 QPushButton

Кнопка

№СвойствоНазначение
Имя компонента
Доступность
Положение компонента и его размеры
Шрифт, размер шрифта
Вид курсора
Стиль рамки
Надпись

def solve(self):

…

self.btn_solve.clicked.connect(self.solve)

3.3 QLabel

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

№СвойствоНазначение
Имя компонента
Доступность
Положение компонента и его размеры
Шрифт, размер шрифта
Вид курсора
Надпись
Картинка
Масштабирование
картинки

self.label_img.setPixmap(QPixmap('images/main.png'))

self.label_img.setScaledContents(True)

self.label_answer.setText('Ответ: ' + str(format(answer, '.12f')))

print (QtGui.QtextDocument(self.label_answer.text).toPlainText)

3.4 QLineEdit

Текстовое поле для ввода/вывода

№СвойствоНазначение
Имя компонента
Доступность
Положение компонента и его размеры
Шрифт, размер шрифта
Вид курсора
Стиль рамки
Надпись

a = self.lineEdit_a.text

self.lineEdit_a.setText('')

3.5 Практический пример

Вид при использовании QWidget

Вид при использовании QDialog

import sys

from PyQt5 import QtGui

from PyQt5.QtGui import QPixmap

from PyQt5.QtWidgets import *

from PyQt5.uic import loadUi

class Main(QDialog):

def __init__(self):

super(Main, self).__init__

loadUi('uis/main.ui', self) # загрузка формы в py-скрипт

self.setWindowTitle('Создание простейшей визуальной '

'программы на Python')

self.setWindowIcon(QtGui.QIcon('images/logo.png'))

self.label_img.setPixmap(QPixmap('images/main.png'))

self.label_img.setScaledContents(True)

self.btn_solve.clicked.connect(self.solve) # Связь кнопки с методом

self.btn_clear.clicked.connect(self.clear) # Связь кнопки с методом

self.btn_exit.clicked.connect(self.exit) # Связь кнопки с методом

def solve(self):

a = self.lineEdit_a.text

b = self.lineEdit_b.text

x = self.lineEdit_x.text

if validation_of_data(a, b, x):

a = float(a)

b = float(b)

x = float(x)

if x > 6:

answer = a / x + b / x ** 2

else:

answer = a ** 2 * (x + b)

self.label_answer.setText('Ответ: ' + str(format(answer, '.2f')))

else:

self.label_answer.setText(

'Ошибка!')

def clear(self):

self.lineEdit_a.setText('')

self.lineEdit_b.setText('')

self.lineEdit_x.setText('')

self.label_answer.setText('Ответ: ')

def exit(self):

self.close

def validation_of_data(a, b, x):

"""

проверяем валидность наших данных, с помощью перехвата исключения

:param a: число, полученное из lineEdit_a

:param b: число, полученное из lineEdit_b

:param x: число, полученное из lineEdit_x

:return: True – прошло валидацию, False – нет

"""

try:

float(a)

float(b)

float(x)

return True

except Exception:

return False

def main:

# каждое приложение должно создать объект QApplication

# sys.argv – список аргументов командной строки

app = QApplication(sys.argv)

window = Main # базовый класс для всех объектов интерфейса пользователя

Поделиться:
Популярные книги

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Распад государства и гражданская война в Сомали

Коновалов Иван Павлович
Научно-образовательная:
история
5.00
рейтинг книги
Распад государства и гражданская война в Сомали

Сфабрикованный Иисус

Эванс Крейг
Религия. Настоящее христианство
Документальная литература:
критика
5.00
рейтинг книги
Сфабрикованный Иисус

Синяя Птица. (Трилогия)

Самойлова Елена Александровна
Синяя Птица
Фантастика:
юмористическая фантастика
9.14
рейтинг книги
Синяя Птица. (Трилогия)

Лотэр

Коул Кресли
12. Бессмертные с приходом темноты
Любовные романы:
любовно-фантастические романы
эро литература
9.29
рейтинг книги
Лотэр

О природе вещей

Старинная литература:
античная литература
5.00
рейтинг книги
О природе вещей

Вся правда о раковых заболеваниях. Новый подход к лечению и профилактике онкологии

Куомо Маргарет
Справочная литература:
прочая справочная литература
5.00
рейтинг книги
Вся правда о раковых заболеваниях. Новый подход к лечению и профилактике онкологии

Кодекс Охотника. Книга XXXIX

Сапфир Олег
39. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
5.00
рейтинг книги
Кодекс Охотника. Книга XXXIX

История Великобритании

Морган Кеннет
Национальная история
Научно-образовательная:
история
5.00
рейтинг книги
История Великобритании

Точка Бифуркации III

Смит Дейлор
3. ТБ
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Точка Бифуркации III

Фантастические рассказы из журнала «Вокруг света»

Михеев Михаил Петрович
Фантастика:
научная фантастика
5.00
рейтинг книги
Фантастические рассказы из журнала «Вокруг света»

Первый среди равных. Книга XII

Бор Жорж
12. Первый среди Равных
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Первый среди равных. Книга XII

Самоучитель мудрости, или Учебник для тех, кто любит учиться, но не любит, когда его учат

Казакевич Александр Владимирович
Научно-образовательная:
психология
7.25
рейтинг книги
Самоучитель мудрости, или Учебник для тех, кто любит учиться, но не любит, когда его учат