PyQt5 Python вылетает при попытке изменить содержимое QLineEdit информацией из pyowm модуля
Возник вопрос... Программа на PyQt5 вылетает при попытке изменить содержимое QLineEdit. Изменить пытаюсь на статус погоды в указанном пользователем регионе. В терминал ошибку не выводит. Вот код:
import sys, os
from PyQt5 import uic
from PyQt5.QtGui import QPixmap, QImage, QPalette
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit, QLabel
from pyowm import OWM
from pyowm.utils import config
from pyowm.utils import timestamps
from pyowm.utils.config import get_default_config
config_dict = get_default_config()
config_dict['language'] = 'ru' # ru - локализация наименований регионов и статуса погоды под русский язык
owm = OWM('78d543125ec3f689ae035d24fc4b700b', config_dict)
mgr = owm.weather_manager()
class MyWidget(QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('data\\ui.ui', self)
self.setFixedSize(590, 600)
self.pushButton_2.clicked.connect(self.save_city)
self.pushButton.clicked.connect(self.observation_weather) # <- ВОТ ТУТ И ПРОИСХОДИТ ОШИБКА
file = open('data\\maincity.txt','r', encoding='utf-8')
self.lineEdit.setText(*file)
file.close()
self.place = self.lineEdit.text()
def save_city(self):
f = open('data\\maincity.txt', 'w', encoding='utf-8')
f.write(self.lineEdit.text())
f.close()
def observation_weather(self):
observation = mgr.weather_at_place(self.place)
w = observation.weather
temper = w.temperature('celsius')['temp']
speed_wind = w.wind()['speed']
status_for_line = 'В регионе - ' + self.place + ' сейчас ' + w.detailed_status
self.status_line.setText(w.detailed_status)
self.temper_line.setText(str(round(temper, 1)) + '°C')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: Матвей Воронцов
→ Ссылка
Проблему решил.
Ошибка была в названии виджета status_line. Поменял название и всё заработало.