import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = QMainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
layout = QVBoxLayout()
widgets = [
QCheckBox,
QComboBox,
QDateEdit,
QDateTimeEdit,
QDial,
QDoubleSpinBox,
QFontComboBox,
QLCDNumber,
QLabel,
QLineEdit,
QProgressBar,
QPushButton,
QRadioButton,
QSlider,
QSpinBox,
QTimeEdit
]
for w in widgets:
layout.addWidget(w())
widget = QWidget()
widget.setLayout(layout)
# Установка центрального виджета окна
self.setCentralWidget(widget)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание метки для вывода текста
label = QLabel("Hello, World!")
# label.setText("Hello Updated")
font = label.font()
font.setPointSize(30)
label.setFont(font)
label.setAlignment(Qt.AlignCenter)
# Установка метки как центрального виджета окна
self.setCentralWidget(label)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание виджета
widget = QCheckBox("Поставь галочку")
widget.setCheckState(Qt.Checked)
# widget.setTristate(True)
# widget.setCheckState(Qt.PartiallyChecked)
widget.stateChanged.connect(self.show_state)
# Установка метки как центрального виджета окна
self.setCentralWidget(widget)
def show_state(self, s):
print(s == Qt.Checked)
print(s)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox, QComboBox
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание виджета
widget = QComboBox()
widget.addItems(['Вадим', 'Глеб', 'Сергей'])
widget.setCurrentIndex(-1)
widget.setEditable(True)
widget.setInsertPolicy(QComboBox.InsertAlphabetically)
widget.setFixedSize(100, 20)
widget.currentIndexChanged.connect(self.index_changed)
widget.currentIndexChanged[str].connect(self.text_changed)
# Установка метки как центрального виджета окна
self.setCentralWidget(widget)
def index_changed(self, i):
print(i)
def text_changed(self, s):
print(f'На выход {s}')
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox, QListWidget, QAbstractItemView
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание виджета
self.widget = QListWidget()
self.widget.addItems(['Вадим', 'Глеб', 'Сергей'])
self.widget.setSelectionMode(QAbstractItemView.ExtendedSelection)
# widget.currentItemChanged.connect(self.index_changed)
self.widget.itemClicked.connect(self.item_clicked)
# widget.currentTextChanged[str].connect(self.text_changed)
# Установка метки как центрального виджета окна
self.setCentralWidget(self.widget)
def index_changed(self, i):
print(i.text())
def text_changed(self, s):
print(f'На выход {s}')
def item_clicked(self):
print(' '.join([item.text() for item in self.widget.selectedItems()]))
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox, QLineEdit
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание виджета
self.widget = QLineEdit()
self.widget.setMaxLength(10)
self.widget.setPlaceholderText("Введите имя")
self.widget.returnPressed.connect(self.return_pressed)
self.widget.selectionChanged.connect(self.selection_changed)
self.widget.textChanged.connect(self.text_changed)
self.widget.textEdited.connect(self.text_edited)
# Установка метки как центрального виджета окна
self.setCentralWidget(self.widget)
def return_pressed(self):
print(self.widget.text())
self.centralWidget().setText("ПРИВЕТ")
def selection_changed(self):
print(self.widget.selectedText())
def text_changed(self, s):
print('Changed: ' + s)
def text_edited(self, s):
print('Edited: ' + s)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QPushButton
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QPixmap
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание виджета
self.widget = QPushButton(text='Нажми меня')
self.widget.clicked.connect(self.button_clicked)
# Установка метки как центрального виджета окна
self.setCentralWidget(self.widget)
def button_clicked(self):
self.widget.setText('Кнопка нажата')
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import *
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Абсолютное позиционирование')
self.setFixedSize(250, 130)
self.initUI()
def initUI(self):
label1 = QLabel('Первое число', self)
label1.move(10, 5)
self.edit1 = QLineEdit('', self)
self.edit1.move(10, 30)
label2 = QLabel('Второе число', self)
label2.move(10, 60)
self.edit2 = QLineEdit('', self)
self.edit2.move(10, 85)
btn = QPushButton('Нажми меня', self)
btn.move(120, 30)
btn.clicked.connect(self.button_clicked)
self.answer = QLabel('Результат', self)
self.answer.move(120, 85)
font = self.answer.font()
font.setWeight(75)
self.answer.setFont(font)
def button_clicked(self):
try:
self.answer.setText(str(int(self.edit1.text()) + int(self.edit2.text())))
except ValueError:
self.answer.setText('ERROR')
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = Window()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QHBoxLayout, QVBoxLayout
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPalette, QColor
# Цветной прямоугольник
class Color(QWidget):
def __init__(self, color, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setAutoFillBackground(True)
palette = self.palette()
palette.setColor(QPalette.Window, QColor(color))
self.setPalette(palette)
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание разметки
layout1 = QHBoxLayout()
layout2 = QVBoxLayout()
layout3 = QVBoxLayout()
layout1.setContentsMargins(0, 0, 0, 0)
layout1.setSpacing(20)
layout2.addWidget(Color('red'))
layout2.addWidget(Color('yellow'))
layout2.addWidget(Color('purple'))
layout1.addLayout(layout2)
layout1.addWidget(Color('green'))
layout3.addWidget(Color('red'))
layout3.addWidget(Color('brown'))
layout1.addLayout(layout3)
# Создание виджета
widget = QWidget()
widget.setLayout(layout1)
# Установка метки как центрального виджета окна
self.setCentralWidget(widget)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QGridLayout
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPalette, QColor
# Цветной прямоугольник
class Color(QWidget):
def __init__(self, color, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setAutoFillBackground(True)
palette = self.palette()
palette.setColor(QPalette.Window, QColor(color))
self.setPalette(palette)
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание разметки
layout = QGridLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(10)
layout.addWidget(Color('red'), 0, 0)
layout.addWidget(Color('green'), 1, 0)
layout.addWidget(Color('blue'), 1, 1)
layout.addWidget(Color('purple'), 2, 1)
# Создание виджета
widget = QWidget()
widget.setLayout(layout)
# Установка метки как центрального виджета окна
self.setCentralWidget(widget)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import *
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Калькулятор')
self.initUI()
def initUI(self):
layout = QFormLayout()
self.edit1 = QLineEdit('')
layout.addRow('Первое число:', self.edit1)
self.edit2 = QLineEdit('')
layout.addRow('Второе число:', self.edit2)
layout2 = QHBoxLayout()
self.answer = QLabel('Результат', self)
font = self.answer.font()
font.setWeight(75)
self.answer.setFont(font)
layout2.addWidget(self.answer)
btn1 = QPushButton('+', self)
btn1.clicked.connect(lambda: self.button_clicked('+'))
layout2.addWidget(btn1)
btn2 = QPushButton('-', self)
btn2.clicked.connect(lambda: self.button_clicked('-'))
layout2.addWidget(btn2)
btn3 = QPushButton('*', self)
btn3.clicked.connect(lambda: self.button_clicked('*'))
layout2.addWidget(btn3)
btn4 = QPushButton('/', self)
btn4.clicked.connect(lambda: self.button_clicked('/'))
layout2.addWidget(btn4)
row = QWidget()
row.setLayout(layout2)
layout.addRow(row)
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
def button_clicked(self, oper = '+'):
try:
value1 = float(self.edit1.text())
value2 = float(self.edit2.text())
if oper == '+':
answer = value1 + value2
elif oper == '-':
answer = value1 - value2
elif oper == '*':
answer = value1 * value2
elif oper == '/':
answer = value1 / value2
else:
answer = 'ERROR'
self.answer.setText(str(answer))
except ValueError:
self.answer.setText('ERROR')
except ZeroDivisionError:
self.answer.setText('ERROR')
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = Window()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QToolBar, \
QAction, QStatusBar, QCheckBox
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon
# Класс для настройки главного окна
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("Мое PyQt приложение")
# Создание метки для вывода текста
label = QLabel("Hello, World!")
label.setAlignment(Qt.AlignCenter)
# Установка метки как центрального виджета окна
self.setCentralWidget(label)
# Добавление панели инструментов
toolbar = QToolBar("Main toolbar")
self.addToolBar(toolbar)
# Добавление действия
button_action = QAction(QIcon("stickman.png"), "Button", self)
button_action.setStatusTip("This is your button")
button_action.triggered.connect(self.ToolBarButtonClick)
button_action.setCheckable(True)
toolbar.addAction(button_action)
toolbar.addSeparator()
button_action2 = QAction(QIcon("folder.png"), "Button2", self)
button_action2.setStatusTip("This is your button2")
button_action2.triggered.connect(self.ToolBarButtonClick)
button_action2.setCheckable(True)
toolbar.addAction(button_action2)
toolbar.addWidget(QLabel("Check"))
toolbar.addWidget(QCheckBox())
# Добавление строки состояния
self.setStatusBar(QStatusBar(self))
def ToolBarButtonClick(self, s):
print("click", s)
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = MainWindow()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
import sys
from PyQt5.QtWidgets import *
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Калькулятор дробей')
self.initUI()
def initUI(self):
main_layout = QVBoxLayout()
self.edit = [[0] * 3 for i in range(2)]
for i in range(2):
row_layout = QHBoxLayout()
row_layout.addWidget(QLabel(f'Дробь {i+1}'))
grid_layout = QGridLayout()
for j in range(3):
self.edit[i][j] = QLineEdit('')
self.edit[i][j].setFixedSize(30, 30)
grid_layout.addWidget(self.edit[i][0], 0, 0, 2, 1)
grid_layout.addWidget(self.edit[i][1], 0, 1)
grid_layout.addWidget(self.edit[i][2], 1, 1)
grid = QWidget()
grid.setLayout(grid_layout)
row_layout.addWidget(grid)
row = QWidget()
row.setLayout(row_layout)
main_layout.addWidget(row)
bottom = QHBoxLayout()
self.answer = QLabel('Результат', self)
font = self.answer.font()
font.setWeight(75)
self.answer.setFont(font)
bottom.addWidget(self.answer)
from functools import partial
btn_names = ('+', '-', '*', '/')
for name in btn_names:
btn = QPushButton(name, self)
btn.setFixedSize(btn.height(), btn.height())
btn.clicked.connect(partial(self.button_clicked, name))
bottom.addWidget(btn)
row = QWidget()
row.setLayout(bottom)
main_layout.addWidget(row)
widget = QWidget()
widget.setLayout(main_layout)
self.setCentralWidget(widget)
def button_clicked(self, oper = '+'):
from fractions import Fraction
value = [0, 0]
try:
for i in range(2):
sources = [0] * 3
for j in range(3):
try:
sources[j] = int(self.edit[i][j].text())
except ValueError:
pass
denominator = sources[2]
numerator = sources[0] * denominator + sources[1]
value[i] = Fraction(numerator, denominator)
if oper == '+':
answer = value[0] + value[1]
elif oper == '-':
answer = value[0] - value[1]
elif oper == '*':
answer = value[0] * value[1]
elif oper == '/':
answer = value[0] / value[1]
else:
answer = 'ERROR'
self.answer.setText(f'{answer.numerator}/{answer.denominator}')
except ValueError:
self.answer.setText('ERROR')
except ZeroDivisionError:
self.answer.setText('ERROR')
# Создаем экземпляр QApplication и передаем параметры командной строки
app = QApplication(sys.argv)
# Создание окна приложения
window = Window()
window.show() # Окна скрыты по умолчанию!
# Запуск цикла событий
app.exec_()
© Яценко Р.М., 2018-2025
Apr 26, 2025(c) Яценко Р.М., 2018-2025
Apr 19, 2025© Яценко Р.М., 2019-2023
Apr 19, 2025Тема 4<br>Електронний ринок (c) Яценко Р.М., 2010-2022 Презентація https://bit.ly/2ZrBCQs Зміст Інтернет-магазини
Apr 7, 2025or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up