Программирование на Python3 с PyQt5 - страница 8

Шрифт
Интервал


minimum = a if a < b else b

print(minimum, maximum)


10 20


ЛЕКЦИЯ 3 – ОСНОВНЫЕ КОМПОНЕНТЫ 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()