Не получается передать QLabel данные(pyqt5)

Пытаюсь передать Qlabel данные, выдает ошибку что нету такого аттрибута:

AttributeError: 'QLabel' object has no attribute 'SetText'

main.py

import pyowm
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from gui import Ui_main


#create
app = QtWidgets.QApplication(sys.argv)

#init
main = QtWidgets.QDialog()
ui = Ui_main()
ui.setupUi(main)
main.show()

main.setFixedSize(502, 251)

#main
def weather_city():
    owm = pyowm.OWM("don`t look here")

    city = ui.MAIN_TEXT.toPlainText()#get city from text line

    mgr = owm.weather_manager()
    observation = mgr.weather_at_place('London,GB')
    w = observation.weather
    temp = w.temperature('celsius')['temp']

    ui.out.SetText(temp)# + "°")

#function press on button
ui.GET.clicked.connect(weather_city)


#loop
sys.exit(app.exec_())

gui.py

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_main(object):
    def setupUi(self, main):
        main.setObjectName("main")
        main.resize(502, 243)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("res/icon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        main.setWindowIcon(icon)
        main.setStyleSheet("background-color:#241f1f;\n"
"color:#dbd3d3 ;")
        self.GET = QtWidgets.QPushButton(main)
        self.GET.setGeometry(QtCore.QRect(170, 160, 151, 21))
        self.GET.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.GET.setStyleSheet("QPushButton{\n"
"font: 8pt \"Minecrafter\";\n"
"border:none;\n"
"}\n"
"\n"
"QPushButton:hover{\n"
"\n"
"color:#2c3d91;\n"
"\n"
"}")
        self.GET.setCheckable(False)
        self.GET.setChecked(False)
        self.GET.setFlat(False)
        self.GET.setObjectName("GET")
        self.MAIN_TEXT = QtWidgets.QTextEdit(main)
        self.MAIN_TEXT.setGeometry(QtCore.QRect(40, 90, 431, 71))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(20)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.MAIN_TEXT.setFont(font)
        self.MAIN_TEXT.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.IBeamCursor))
        self.MAIN_TEXT.setStyleSheet("color:#dbd3d3;\n"
"background-color:#2e2e2e ;\n"
"border:none;\n"
"font: 20pt \"Minecrafter\";")
        self.MAIN_TEXT.setObjectName("MAIN_TEXT")
        self.label = QtWidgets.QLabel(main)
        self.label.setGeometry(QtCore.QRect(60, 0, 391, 81))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(25)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.label.setFont(font)
        self.label.setStyleSheet("font: 25pt \"Minecrafter\";")
        self.label.setObjectName("label")
        self.out = QtWidgets.QLabel(main)
        self.out.setGeometry(QtCore.QRect(160, 200, 231, 31))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(10)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.out.setFont(font)
        self.out.setStyleSheet("font: 10pt \"Minecrafter\";")
        self.out.setObjectName("out")
        self.pic = QtWidgets.QLabel(main)
        self.pic.setGeometry(QtCore.QRect(100, 200, 61, 51))
        self.pic.setText("")
        self.pic.setTextFormat(QtCore.Qt.MarkdownText)
        self.pic.setPixmap(QtGui.QPixmap("res/no.png"))
        self.pic.setObjectName("pic")
        self.line = QtWidgets.QFrame(main)
        self.line.setGeometry(QtCore.QRect(-60, 180, 591, 20))
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.line_2 = QtWidgets.QFrame(main)
        self.line_2.setGeometry(QtCore.QRect(20, 0, 21, 191))
        self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.line_3 = QtWidgets.QFrame(main)
        self.line_3.setGeometry(QtCore.QRect(470, 0, 21, 191))
        self.line_3.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_3.setObjectName("line_3")

        self.retranslateUi(main)
        QtCore.QMetaObject.connectSlotsByName(main)

    def retranslateUi(self, main):
        _translate = QtCore.QCoreApplication.translate
        main.setWindowTitle(_translate("main", "Погода"))
        self.GET.setText(_translate("main", "Получить погоду"))
        self.label.setText(_translate("main", "Укажите город"))
        self.out.setText(_translate("main", "Не получена погода"))


Ответы (1 шт):

Автор решения: S. Nick

Попробуйте так:

import sys
import pyowm
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *


#from gui import Ui_main
class Ui_main(object):
    def setupUi(self, main):
        main.setObjectName("main")
        main.resize(502, 243)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("res/icon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        main.setWindowIcon(icon)
        main.setStyleSheet("background-color:#241f1f;\n"
"color:#dbd3d3 ;")
        self.GET = QtWidgets.QPushButton(main)
        self.GET.setGeometry(QtCore.QRect(170, 160, 151, 21))
        self.GET.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.GET.setStyleSheet("QPushButton{\n"
"font: 8pt \"Minecrafter\";\n"
"border:none;\n"
"}\n"
"\n"
"QPushButton:hover{\n"
"\n"
"color:#2c3d91;\n"
"\n"
"}")
        self.GET.setCheckable(False)
        self.GET.setChecked(False)
        self.GET.setFlat(False)
        self.GET.setObjectName("GET")
        self.MAIN_TEXT = QtWidgets.QTextEdit(main)
        self.MAIN_TEXT.setGeometry(QtCore.QRect(40, 90, 431, 71))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(20)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.MAIN_TEXT.setFont(font)
        self.MAIN_TEXT.viewport().setProperty("cursor", QtGui.QCursor(QtCore.Qt.IBeamCursor))
        self.MAIN_TEXT.setStyleSheet("color:#dbd3d3;\n"
"background-color:#2e2e2e ;\n"
"border:none;\n"
"font: 20pt \"Minecrafter\";")
        self.MAIN_TEXT.setObjectName("MAIN_TEXT")
        self.label = QtWidgets.QLabel(main)
        self.label.setGeometry(QtCore.QRect(60, 0, 391, 81))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(25)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.label.setFont(font)
        self.label.setStyleSheet("font: 25pt \"Minecrafter\";")
        self.label.setObjectName("label")
        self.out = QtWidgets.QLabel(main)
        self.out.setGeometry(QtCore.QRect(160, 200, 231, 31))
        font = QtGui.QFont()
        font.setFamily("Minecrafter")
        font.setPointSize(10)
        font.setBold(False)
        font.setItalic(False)
        font.setWeight(50)
        self.out.setFont(font)
        self.out.setStyleSheet("font: 10pt \"Minecrafter\";")
        self.out.setObjectName("out")
        self.pic = QtWidgets.QLabel(main)
        self.pic.setGeometry(QtCore.QRect(100, 200, 61, 51))
        self.pic.setText("")
        
        # Текстовая строка интерпретируется как текст в формате Markdown. 
        # Это значение перечисления было добавлено в Qt 5.14.
        #self.pic.setTextFormat(QtCore.Qt.MarkdownText)
        self.pic.setTextFormat(QtCore.Qt.PlainText)        
        
        self.pic.setPixmap(QtGui.QPixmap("res/no.png"))
        self.pic.setObjectName("pic")
        self.line = QtWidgets.QFrame(main)
        self.line.setGeometry(QtCore.QRect(-60, 180, 591, 20))
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.line_2 = QtWidgets.QFrame(main)
        self.line_2.setGeometry(QtCore.QRect(20, 0, 21, 191))
        self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.line_3 = QtWidgets.QFrame(main)
        self.line_3.setGeometry(QtCore.QRect(470, 0, 21, 191))
        self.line_3.setFrameShape(QtWidgets.QFrame.VLine)
        self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_3.setObjectName("line_3")

        self.retranslateUi(main)
        QtCore.QMetaObject.connectSlotsByName(main)

    def retranslateUi(self, main):
        _translate = QtCore.QCoreApplication.translate
        main.setWindowTitle(_translate("main", "Погода"))
        self.GET.setText(_translate("main", "Получить погоду"))
        self.label.setText(_translate("main", "Укажите город"))
        self.out.setText(_translate("main", "Не получена погода"))


class Dialog(QtWidgets.QDialog, Ui_main):
    def __init__(self):
        super().__init__()
        
        self.setupUi(self)
        self.GET.clicked.connect(self.weather_city)

    def weather_city(self):
        owm = pyowm.OWM('7c6d...ee6')
        city = self.MAIN_TEXT.toPlainText()              
        observation = owm.weather_at_place(city)
        w = observation.get_weather()
        temp = w.get_temperature('celsius')["temp"]
#        self.out.SetText(temp)# + "°") 
        self.out.setText(f'Тумпература: {temp}°')       
        
        
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = Dialog()
    w.resize(502, 251)
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка