Виджеты в PyQt5
Виджеты - это основные строительные блоки приложения. PyQt5 имеет широкий ряд различных виджетов, включая кнопки, флажки, ползунки или списки. В этом статье мы опишем несколько полезных виджетов: QPushButton и QLabelQLabel и QPushButton
Давайте узнаем, что эти за виджеты:
- QLabel - Создает текст, в вашем окне
- QPushButton - Создает обычную кнопку, вашем окне.
Создаем программу
Вы узнали что это за виджеты, а теперь давайте напишем эту код на пайтон, и добавим эти 2 виджета:
Примечание: Напоминаю, что перед началом кода, у вас должны быть знание о ООП, хотя бы половину. [ВСЕ ПОДРОБНОСТИ ЗДЕСЬ -Ссылка скрыта от гостей]
Так давайте приступимся к работе, вы создаете простой файл с форматом [py] и пишем вот такой код:
Подключаем Библиотеки:
Python:
from Pyqt5 import QtCore, QtWidgets
Создаем родительский класс и конструктор:
Python:
class MyWindow(QtWidgets.QtWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
Добавляемс виджеты и событии:
Я тут подумал, что наша кнопка не будет обычной кнопкой <3, а при нажатии на него закроется данное окно, тоесть событие:
Python:
self.my_text = QtWidgets.QLabel("Привет codeby!") # Текст
self.lmy_text.setAlignment(QtCore.Qt.AlignHCenter) # Центр текста
self.my_btn = QtWidgets.QPushButton("Закрыть окно") # Кнопка
Добавляем компоненты в контейнер:
Python:
self.vbox = QtWidgets.QVBoxLayout()
self.vbox.addWidget(self.my_btn)
self.vbox.addWidget(self.my_text)
self.setLayout(self.vbox)
self.my_btn.clicked.connect(QtWidgets.qApp.quit)
Потом мы для кнопки, объявили функцию, который при нажатии завершается окно, с помощью clicked.connect(QtWidgets.qApp.quit)
Настраиваем окно, размер заголовок:
Python:
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()[
window.setWindowTitle('My window!')
window.resize(300, 70)
window.show()
sys.exit(app.exec_())
Для окно, мы дали заголовок "My Window" и дали ему размер. Дальше мы создали экземпляр класса Window = MyWindow() и с помощью window.show() показываем сам окно. Выражение sys.exit(app.exec_()) позволяет выйти с окна(<3).
Скомпилируем код:
Python:
from PyQt5 import QtCore, QtWidgets
class MyWindow(QtWidgets.QtWidget):
def __init__(self, paret=None):
QtWidgets.QWidget.__init__(self, parent)
self.my_text = QtWidgets.QLabel('Привет codeby!')
self.my_text.setAlignment(QtCore.Qt.AlignCenter)
self.my_btn = QtWidgets.QPushButton('Закрыть окно')
self.vbox = QtWidgets.QVboxLayout()
self.vbox.addWidget(self.my_text)
self.vbox.addWidget(self.my_btn)
self.setLayout(self.vbox)
self.my_btn.clicked.connect(QtWidgets.qApp.quit)
if __name__ == '__maim__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.setWindowTitle('My Window!')
window.resize(300, 70)
window.show()
sys.exit(app.exec_())
Итоги:
Создание виджетов на PyQt5
Код получился конечно не такой большой, но мы смогли создать 2 виджета, это текст и кнопка.Надеюсь, данная статься была полезна для вас. Удачи!
[Буду благодарен, если найдете ошибки в тексте или в коде.]
Последнее редактирование: