Как можно соединить вместе виджет QLineEdit и QLabel в PyQt?

Как изменить программу так, чтобы после ввода числа в `QLineEdit` и нажатия кнопки это число добавлялось к содержимому `Label` в виде числа (`int`), а не строки (`str`)? Возможно ли сделать так, чтобы данную операцию можно было выполнять неограниченное количество раз? Как реализовать очистку `QLineEdit` после каждого нажатия кнопки?
  • 29 мая 2024 г. 22:41
Ответы на вопрос 2
Для соединения виджетов `QLineEdit` и `QLabel` в PyQt можно использовать следующий код:

```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QLabel, QPushButton
import sys

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        
        self.label = QLabel("Сумма:")
        self.line_edit = QLineEdit()
        self.button = QPushButton("Добавить число")
        self.button.clicked.connect(self.add_number)
        
        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.line_edit)
        layout.addWidget(self.button)
        
        self.setLayout(layout)
        
        self.total = 0
    
    def add_number(self):
        try:
            number = int(self.line_edit.text())
            self.total += number
            self.label.setText("Сумма: {}".format(self.total))
            self.line_edit.clear()
        except ValueError:
            pass

if __name__ == '__main__':
    app = QApplication(sys.argv)
    widget = MyWidget()
    widget.show()
    sys.exit(app.exec_())
```

В данном примере создается приложение с виджетом, содержащим `QLabel`, `QLineEdit` и `QPushButton`. После ввода числа в `QLineEdit` и нажатия кнопки, введенное число добавляется к сумме в `QLabel` в виде числа типа `int`. `QLineEdit` очищается после каждого нажатия кнопки. 

Данная операция может быть повторена неограниченное количество раз.

Пример предполагает, что пользователь вводит валидные целочисленные значения. Если введено нечисловое значение, программа будет игнорировать его.

Вышеуказанный пример можно использовать в PyQt. Однако, необходимо помнить, что для корректной работы примера потребуется правильно настроить окружение и установить PyQt.
Похожие вопросы