2.3 Тернарный условный оператор
a = 10
b = 20
maximum = a if a > b else b
minimum = a if a < b else b
print(minimum, maximum)
10 20
ЛЕКЦИЯ 3 ОСНОВНЫЕ КОМПОНЕНТЫ PYQT5
3.1 QWidget и 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')))