Python PyQt 5 Как очистит окно? Вывел одно содержимое на экран, пользователь нажал кнопочку, как сделать чтобы всё с экрана стёрлось и вывелось новое содержимое?

21 Авг 2019 в 06:24
371 +1
1
Ответы
1

Для очистки окна в PyQt5 можно использовать метод clear() у виджетов, таких как QLabel, QLineEdit или QTextEdit.

Пример:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLabel
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Очистка окна')
self.layout = QVBoxLayout()
self.label = QLabel('Содержимое 1')
self.layout.addWidget(self.label)
self.button = QPushButton('Очистить и вывести новое содержимое')
self.button.clicked.connect(self.onClicked)
self.layout.addWidget(self.button)
self.setLayout(self.layout)
def onClicked(self):
self.label.clear()
self.label.setText('Новое содержимое')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())

В данном примере создается окно с одним QLabel, который содержит текст 'Содержимое 1'. При нажатии на кнопку 'Очистить и вывести новое содержимое', происходит очистка содержимого QLabel с помощью метода clear() и добавление нового текста с помощью метода setText().

Таким образом, если вы хотите очистить содержимое окна и вывести новое, просто вызовите метод clear() для всех виджетов, которые хотите очистить, и установите новые значения содержимого, вызвав соответствующие методы.

20 Апр в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 91 947 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир