Не получается написать функционал кнопок
Имеется 2 файла, один ui файл переведённый в py формат, второй файл основное окно.
Как написать функционал для buttonGet? Кнопка должна выводить данные о погоде в ведённом городе.
Класс дизайна:
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
from PyQt5 import QtGui, QtCore
class Design(object):
def setupUi(self, weather_form):
weather_form.setWindowFlags(Qt.FramelessWindowHint)
weather_form.setWindowTitle('Погода')
weather_form.setObjectName("weather_form")
weather_form.resize(1000, 900)
weather_form.setTabletTracking(True)
weather_form.setFocusPolicy(QtCore.Qt.ClickFocus)
weather_form.setWindowOpacity(1.0)
weather_form.setLayoutDirection(QtCore.Qt.LeftToRight)
weather_form.setStyleSheet("QWidget {\n"
" background-color:#006400;\n"
"}")
self.input_your_city = QtWidgets.QLineEdit(weather_form)
self.input_your_city.setGeometry(QtCore.QRect(100, 60, 542, 62))
font = QtGui.QFont()
font.setFamily("Gotham Pro")
font.setPointSize(16)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
font.setKerning(True)
self.input_your_city.setFont(font)
self.input_your_city.setFocusPolicy(QtCore.Qt.ClickFocus)
self.input_your_city.setAcceptDrops(False)
self.input_your_city.setStyleSheet("QLineEdit {\n"
" background-color: /*#00FFFF*/#00FFFF;\n"
" /*border: 1px solid rgb(0, 85, 255);*/\n"
" border-radius: 3px;\n"
" color: #000000;\n"
" font: 30pt \"Gotham Pro\";\n"
" padding-left: 10px;\n"
" padding-right: 10px;\n"
"}\n"
"\n"
"QLineEdit:focus {\n"
" border: 1px solid #727173;\n"
"}")
self.input_your_city.setInputMethodHints(QtCore.Qt.ImhNone)
self.input_your_city.setInputMask("")
self.input_your_city.setFrame(True)
self.input_your_city.setEchoMode(QtWidgets.QLineEdit.Normal)
self.input_your_city.setDragEnabled(False)
self.input_your_city.setReadOnly(False)
self.input_your_city.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle)
self.input_your_city.setClearButtonEnabled(False)
self.input_your_city.setObjectName("inputCity")
self.buttonGet = QtWidgets.QPushButton(weather_form)
self.buttonGet.setGeometry(QtCore.QRect(260, 160, 222, 62))
self.buttonGet.setFocusPolicy(QtCore.Qt.ClickFocus)
self.buttonGet.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.buttonGet.setAutoFillBackground(False)
self.buttonGet.setStyleSheet("QPushButton {\n"
" background-color: /*#B8CCD5*/#FCFAF7;\n"
" border-radius: 3px;\n"
" color: #727173;\n"
" font: 12pt \"Gotham Pro\";\n"
" padding-left: 6px;\n"
" padding-right: 6px;\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" border: 1px solid #727173;\n"
"}")
self.buttonGet.setInputMethodHints(QtCore.Qt.ImhNone)
self.buttonGet.setCheckable(False)
self.buttonGet.setAutoRepeat(False)
self.buttonGet.setAutoExclusive(False)
self.buttonGet.setAutoRepeatDelay(304)
self.buttonGet.setObjectName("buttonGet")
self.weather_in_city = QtWidgets.QLabel(weather_form)
self.weather_in_city.setGeometry(QtCore.QRect(120, 240, 502, 42))
self.weather_in_city.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 20pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.weather_in_city.setFrameShape(QtWidgets.QFrame.NoFrame)
self.weather_in_city.setFrameShadow(QtWidgets.QFrame.Plain)
self.weather_in_city.setTextFormat(QtCore.Qt.AutoText)
self.weather_in_city.setScaledContents(False)
self.weather_in_city.setAlignment(QtCore.Qt.AlignCenter)
self.weather_in_city.setWordWrap(False)
self.weather_in_city.setObjectName("text_weather_in_city")
self.temp = QtWidgets.QLabel(weather_form)
self.temp.setGeometry(QtCore.QRect(20, 380, 702, 102))
self.temp.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 56pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.temp.setFrameShape(QtWidgets.QFrame.NoFrame)
self.temp.setFrameShadow(QtWidgets.QFrame.Plain)
self.temp.setTextFormat(QtCore.Qt.AutoText)
self.temp.setScaledContents(False)
self.temp.setAlignment(QtCore.Qt.AlignCenter)
self.temp.setWordWrap(False)
self.temp.setObjectName("text_temp")
self.description = QtWidgets.QLabel(weather_form)
self.description.setGeometry(QtCore.QRect(20, 280, 702, 102))
self.description.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 37px \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.description.setFrameShape(QtWidgets.QFrame.NoFrame)
self.description.setFrameShadow(QtWidgets.QFrame.Plain)
self.description.setTextFormat(QtCore.Qt.AutoText)
self.description.setScaledContents(False)
self.description.setAlignment(QtCore.Qt.AlignCenter)
self.description.setWordWrap(False)
self.description.setObjectName("text_description")
self.likes_temp = QtWidgets.QLabel(weather_form)
self.likes_temp.setGeometry(QtCore.QRect(20, 480, 702, 82))
self.likes_temp.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 34px \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.likes_temp.setFrameShape(QtWidgets.QFrame.NoFrame)
self.likes_temp.setFrameShadow(QtWidgets.QFrame.Plain)
self.likes_temp.setTextFormat(QtCore.Qt.AutoText)
self.likes_temp.setScaledContents(False)
self.likes_temp.setAlignment(QtCore.Qt.AlignCenter)
self.likes_temp.setWordWrap(False)
self.likes_temp.setObjectName("text_temp_likes")
self.pressure = QtWidgets.QLabel(weather_form)
self.pressure.setGeometry(QtCore.QRect(20, 560, 702, 62))
self.pressure.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.pressure.setFrameShape(QtWidgets.QFrame.NoFrame)
self.pressure.setFrameShadow(QtWidgets.QFrame.Plain)
self.pressure.setTextFormat(QtCore.Qt.AutoText)
self.pressure.setScaledContents(False)
self.pressure.setAlignment(QtCore.Qt.AlignCenter)
self.pressure.setWordWrap(False)
self.pressure.setObjectName("text_pressure")
self.humidity = QtWidgets.QLabel(weather_form)
self.humidity.setGeometry(QtCore.QRect(20, 620, 702, 40))
self.humidity.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.humidity.setFrameShape(QtWidgets.QFrame.NoFrame)
self.humidity.setFrameShadow(QtWidgets.QFrame.Plain)
self.humidity.setTextFormat(QtCore.Qt.AutoText)
self.humidity.setScaledContents(False)
self.humidity.setAlignment(QtCore.Qt.AlignCenter)
self.humidity.setWordWrap(False)
self.humidity.setObjectName("text_humidity")
self.speed_wind = QtWidgets.QLabel(weather_form)
self.speed_wind.setGeometry(QtCore.QRect(20, 660, 702, 40))
self.speed_wind.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.speed_wind.setFrameShape(QtWidgets.QFrame.NoFrame)
self.speed_wind.setFrameShadow(QtWidgets.QFrame.Plain)
self.speed_wind.setTextFormat(QtCore.Qt.AutoText)
self.speed_wind.setScaledContents(False)
self.speed_wind.setAlignment(QtCore.Qt.AlignCenter)
self.speed_wind.setWordWrap(False)
self.speed_wind.setObjectName("text_speed_wind")
self.direction_wind = QtWidgets.QLabel(weather_form)
self.direction_wind.setGeometry(QtCore.QRect(20, 700, 702, 40))
self.direction_wind.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 24pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.direction_wind.setFrameShape(QtWidgets.QFrame.NoFrame)
self.direction_wind.setFrameShadow(QtWidgets.QFrame.Plain)
self.direction_wind.setTextFormat(QtCore.Qt.AutoText)
self.direction_wind.setScaledContents(False)
self.direction_wind.setAlignment(QtCore.Qt.AlignCenter)
self.direction_wind.setWordWrap(False)
self.direction_wind.setObjectName("text_direction_wind")
self.block_snow = QtWidgets.QGroupBox(weather_form)
self.block_snow.setGeometry(QtCore.QRect(40, 760, 162, 102))
self.block_snow.setStyleSheet("QGroupBox {\n"
" color:white;\n"
" font: 24px \"Gotham Pro Medium\";\n"
"}")
self.block_snow.setAlignment(QtCore.Qt.AlignCenter)
self.block_snow.setObjectName("block_snow")
self.snow_hour = QtWidgets.QLabel(self.block_snow)
self.snow_hour.setGeometry(QtCore.QRect(20, 36, 124, 22))
self.snow_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.snow_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.snow_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.snow_hour.setTextFormat(QtCore.Qt.AutoText)
self.snow_hour.setScaledContents(False)
self.snow_hour.setAlignment(QtCore.Qt.AlignCenter)
self.snow_hour.setWordWrap(False)
self.snow_hour.setObjectName("text_snow_hour")
self.snow_3_hour = QtWidgets.QLabel(self.block_snow)
self.snow_3_hour.setGeometry(QtCore.QRect(20, 64, 124, 22))
self.snow_3_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.snow_3_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.snow_3_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.snow_3_hour.setTextFormat(QtCore.Qt.AutoText)
self.snow_3_hour.setScaledContents(False)
self.snow_3_hour.setAlignment(QtCore.Qt.AlignCenter)
self.snow_3_hour.setWordWrap(False)
self.snow_3_hour.setObjectName("text_snow_3_hour")
self.groupBox_2 = QtWidgets.QGroupBox(weather_form)
self.groupBox_2.setGeometry(QtCore.QRect(540, 760, 162, 102))
self.groupBox_2.setStyleSheet("QGroupBox {\n"
" color:white;\n"
" font: 24px \"Gotham Pro Medium\";\n"
"}")
self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter)
self.groupBox_2.setObjectName("groupBox_2")
self.rain_hour = QtWidgets.QLabel(self.groupBox_2)
self.rain_hour.setGeometry(QtCore.QRect(20, 36, 124, 22))
self.rain_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.rain_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.rain_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.rain_hour.setTextFormat(QtCore.Qt.AutoText)
self.rain_hour.setScaledContents(False)
self.rain_hour.setAlignment(QtCore.Qt.AlignCenter)
self.rain_hour.setWordWrap(False)
self.rain_hour.setObjectName("text_rain_hour")
self.rain_3_hour = QtWidgets.QLabel(self.groupBox_2)
self.rain_3_hour.setGeometry(QtCore.QRect(20, 64, 124, 22))
self.rain_3_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.rain_3_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.rain_3_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.rain_3_hour.setTextFormat(QtCore.Qt.AutoText)
self.rain_3_hour.setScaledContents(False)
self.rain_3_hour.setAlignment(QtCore.Qt.AlignCenter)
self.rain_3_hour.setWordWrap(False)
self.rain_3_hour.setObjectName("text_rain_3_hour")
self.button_close = QtWidgets.QPushButton(weather_form)
self.button_close.setGeometry(QtCore.QRect(950, 8, 40, 40))
self.button_close.setStyleSheet("QPushButton {\n"
" background-color: /*#A52A2A*/#A52A2A;\n"
" border:none;\n"
" font: 19pt \"Arial Black\";\n"
" color: white;\n"
"}\n"
"\n"
"QPushButton:hover {\n"
" border: 2px solid red;\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" border: 2px solid red;\n"
" color: red;\n"
"}")
self.button_close.setCheckable(False)
self.button_close.setDefault(True)
self.button_close.setFlat(True)
self.button_close.setObjectName("button_close")
self.retranslateUi(weather_form)
QtCore.QMetaObject.connectSlotsByName(weather_form)
def retranslateUi(self, weather_form):
_translate = QtCore.QCoreApplication.translate
weather_form.setWindowTitle(_translate("weather_form", "Weather_finder"))
self.input_your_city.setPlaceholderText(_translate("weather_form", "Введите город"))
self.buttonGet.setText(_translate("weather_form", "Получить"))
self.weather_in_city.setText(_translate("weather_form", "Погода -"))
self.temp.setText(_translate("weather_form", "-"))
self.description.setText(_translate("weather_form", "-"))
self.likes_temp.setText(_translate("weather_form", "По ощущениям -"))
self.pressure.setText(_translate("weather_form", "Атмосферное давление -"))
self.humidity.setText(_translate("weather_form", "Влажность -"))
self.speed_wind.setText(_translate("weather_form", "Скорость ветра -"))
self.direction_wind.setText(_translate("weather_form", "Направление ветра -"))
self.block_snow.setTitle(_translate("weather_form", "СНЕГ"))
self.snow_hour.setText(_translate("weather_form", "- мм/час"))
self.snow_3_hour.setText(_translate("weather_form", "- мм/3ч"))
self.groupBox_2.setTitle(_translate("weather_form", "Дождь"))
self.rain_hour.setText(_translate("weather_form", "- мм/час"))
self.rain_3_hour.setText(_translate("weather_form", "- мм/3ч"))
self.button_close.setText(_translate("weather_form", "X"))
основное окно:
from PyQt5 import QtWidgets
import requests as req
from test import Design
class Ui_MainWindow(Design):
def pressedget(self, Design, city):
rs = req.get("http://api.openweathermap.org/data/2.5/weather",
params={'q': city, 'lang': 'ru', 'units': 'metric', 'APPID': "9d0864cfefebb1ec3592e7379f7776af"})
weath = rs.json()
if "message" in weath.keys():
try:
if weath["cod"] == "404":
self.weather_in_city.setText("Вы ввели неверный город")
elif weath["cod"] == "400":
self.weather_in_city.setText("Вы не ввели город")
elif weath["cod"] == "429":
self.weather_in_city.setText("Ошибка приложения")
else:
self.weather_in_city.setText("Ошибка сервера")
self.temp.setText("--° C")
self.temp.show()
self.likes_temp.setText("По ощущениям --° C")
self.likes_temp.show()
self.description.setText("------------")
self.description.show()
self.pressure.setText("Атмосферное давление --- мм.рт.ст")
self.pressure.show()
self.humidity.setText("Влажность --- %")
self.humidity.show()
self.speed_wind.setText("Скорость ветра --- м/с")
self.speed_wind.show()
self.direction_wind.setText("Направление ветра ---")
self.direction_wind.show()
self.block_snow.show()
self.snow_hour.setText("----")
self.snow_hour.show()
self.snow_3_hour.setText("----")
self.snow_3_hour.show()
self.groupBox_2.show()
self.rain_hour.setText("----")
self.rain_hour.show()
self.rain_3_hour.setText("----")
self.rain_3_hour.show()
except KeyError:
self.weather_in_city.setText("Ошибка приложения")
self.temp.hide()
self.description.hide()
self.likes_temp.hide()
self.pressure.hide()
self.humidity.hide()
self.speed_wind.hide()
self.direction_wind.hide()
self.block_snow.hide()
self.snow_hour.hide()
self.snow_3_hour.hide()
self.groupBox_2.hide()
self.rain_hour.hide()
self.rain_3_hour.hide()
else:
try:
self.weather_in_city.setText("Погода " + str(weath["name"]))
except KeyError:
self.weather_in_city.setText("Погода неизвестна")
finally:
self.weather_in_city.show()
try:
self.temp.setText(str(weath["main"]["temp"]) + "° C")
except KeyError:
self.temp.setText("--° C")
finally:
self.temp.show()
try:
self.likes_temp.setText("По ощущениям " + str(weath["main"]["feels_like"]) + "° C")
except KeyError:
self.likes_temp.setText("По ощущениям --° C")
finally:
self.likes_temp.show()
try:
self.description.setText(weath["weath"][0]["description"])
except KeyError:
self.description.setText("------------")
finally:
self.description.show()
try:
self.pressure.setText(
"Атмосферное давление " + str(round(weath["main"]["pressure"] * 0.75)) + " мм.рт.ст")
except KeyError:
self.pressure.setText("Атмосферное давление --- мм.рт.ст")
finally:
self.pressure.show()
try:
self.humidity.setText("Влажность " + str(weath["main"]["humidity"]) + " %")
except KeyError:
self.humidity.setText("Влажность --- %")
finally:
self.humidity.show()
try:
self.speed_wind.setText("Скорость ветра " + str(weath["wind"]["speed"]) + " м/с")
except KeyError:
self.speed_wind.setText("Скорость ветра --- м/с")
finally:
self.speed_wind.show()
try:
self.snow_hour.setText(str(weath["snow"]["1h"]) + "мм/ч")
except KeyError:
self.snow_hour.setText("--- мм/ч")
finally:
self.snow_hour.show()
self.block_snow.show()
try:
self.snow_3_hour.setText(str(weath["snow"]["3h"]) + " мм/3ч")
except KeyError:
self.snow_3_hour.setText("--- мм/3ч")
finally:
self.snow_3_hour.show()
self.block_snow.show()
try:
self.rain_hour.setText(str(weath["rain"]["1h"]) + "мм/ч")
except KeyError:
self.rain_hour.setText("--- мм/ч")
finally:
self.rain_hour.show()
self.groupBox_2.show()
try:
self.rain_3_hour.setText(str(weath["rain"]["3h"]) + " мм/3ч")
except KeyError:
self.rain_3_hour.setText("--- мм/3ч")
finally:
self.rain_3_hour.show()
self.groupBox_2.show()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
main.py
import requests as req
from PyQt5 import QtWidgets
from q1468038_test import Design
#class Ui_MainWindow(Design):
class MainWindow(QtWidgets.QMainWindow, Design): # +++ Design
def __init__(self): # +++
super().__init__() # +++
self.setupUi(self) # +++ !!!
self.buttonGet.clicked.connect(self.pressed_get) # +++
self.button_close.clicked.connect(self.close) # +++
def pressed_get(self): # - , Design, city):
city = self.input_your_city.text() # !!! +++
#print(f'{city}')
rs = req.get("http://api.openweathermap.org/data/2.5/weather",
params={'q': city, 'lang': 'ru', 'units': 'metric', 'APPID': "9d0864cfefebb1ec3592e7379f7776af"})
weath = rs.json()
if "message" in weath.keys():
try:
if weath["cod"] == "404":
self.weather_in_city.setText("Вы ввели неверный город")
elif weath["cod"] == "400":
self.weather_in_city.setText("Вы не ввели город")
elif weath["cod"] == "429":
self.weather_in_city.setText("Ошибка приложения")
else:
self.weather_in_city.setText("Ошибка сервера")
self.temp.setText("--° C")
self.temp.show()
self.likes_temp.setText("По ощущениям --° C")
self.likes_temp.show()
self.description.setText("------------")
self.description.show()
self.pressure.setText("Атмосферное давление --- мм.рт.ст")
self.pressure.show()
self.humidity.setText("Влажность --- %")
self.humidity.show()
self.speed_wind.setText("Скорость ветра --- м/с")
self.speed_wind.show()
self.direction_wind.setText("Направление ветра ---")
self.direction_wind.show()
self.block_snow.show()
self.snow_hour.setText("----")
self.snow_hour.show()
self.snow_3_hour.setText("----")
self.snow_3_hour.show()
self.groupBox_2.show()
self.rain_hour.setText("----")
self.rain_hour.show()
self.rain_3_hour.setText("----")
self.rain_3_hour.show()
except KeyError:
self.weather_in_city.setText("Ошибка приложения")
self.temp.hide()
self.description.hide()
self.likes_temp.hide()
self.pressure.hide()
self.humidity.hide()
self.speed_wind.hide()
self.direction_wind.hide()
self.block_snow.hide()
self.snow_hour.hide()
self.snow_3_hour.hide()
self.groupBox_2.hide()
self.rain_hour.hide()
self.rain_3_hour.hide()
else:
try:
self.weather_in_city.setText("Погода " + str(weath["name"]))
except KeyError:
self.weather_in_city.setText("Погода неизвестна")
finally:
self.weather_in_city.show()
try:
self.temp.setText(str(weath["main"]["temp"]) + "° C")
except KeyError:
self.temp.setText("--° C")
finally:
self.temp.show()
try:
self.likes_temp.setText("По ощущениям " + str(weath["main"]["feels_like"]) + "° C")
except KeyError:
self.likes_temp.setText("По ощущениям --° C")
finally:
self.likes_temp.show()
try:
self.description.setText(weath["weath"][0]["description"])
except KeyError:
self.description.setText("------------")
finally:
self.description.show()
try:
self.pressure.setText(
"Атмосферное давление " + str(round(weath["main"]["pressure"] * 0.75)) + " мм.рт.ст")
except KeyError:
self.pressure.setText("Атмосферное давление --- мм.рт.ст")
finally:
self.pressure.show()
try:
self.humidity.setText("Влажность " + str(weath["main"]["humidity"]) + " %")
except KeyError:
self.humidity.setText("Влажность --- %")
finally:
self.humidity.show()
try:
self.speed_wind.setText("Скорость ветра " + str(weath["wind"]["speed"]) + " м/с")
except KeyError:
self.speed_wind.setText("Скорость ветра --- м/с")
finally:
self.speed_wind.show()
try:
self.snow_hour.setText(str(weath["snow"]["1h"]) + "мм/ч")
except KeyError:
self.snow_hour.setText("--- мм/ч")
finally:
self.snow_hour.show()
self.block_snow.show()
try:
self.snow_3_hour.setText(str(weath["snow"]["3h"]) + " мм/3ч")
except KeyError:
self.snow_3_hour.setText("--- мм/3ч")
finally:
self.snow_3_hour.show()
self.block_snow.show()
try:
self.rain_hour.setText(str(weath["rain"]["1h"]) + "мм/ч")
except KeyError:
self.rain_hour.setText("--- мм/ч")
finally:
self.rain_hour.show()
self.groupBox_2.show()
try:
self.rain_3_hour.setText(str(weath["rain"]["3h"]) + " мм/3ч")
except KeyError:
self.rain_3_hour.setText("--- мм/3ч")
finally:
self.rain_3_hour.show()
self.groupBox_2.show()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
# MainWindow = QtWidgets.QMainWindow()
# ui = Ui_MainWindow()
# ui.setupUi(MainWindow)
w = MainWindow() # !!! +++
w.show()
sys.exit(app.exec_())
q1468038_test.py
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtCore import Qt
class Design(object):
def setupUi(self, weather_form):
weather_form.setWindowFlags(Qt.FramelessWindowHint)
weather_form.setWindowTitle('Погода')
weather_form.setObjectName("weather_form")
weather_form.resize(1000, 900)
weather_form.setTabletTracking(True)
weather_form.setFocusPolicy(QtCore.Qt.ClickFocus)
weather_form.setWindowOpacity(1.0)
weather_form.setLayoutDirection(QtCore.Qt.LeftToRight)
weather_form.setStyleSheet("QWidget {\n"
" background-color:#006400;\n"
"}")
self.input_your_city = QtWidgets.QLineEdit(weather_form)
self.input_your_city.setGeometry(QtCore.QRect(100, 60, 542, 62))
font = QtGui.QFont()
font.setFamily("Gotham Pro")
font.setPointSize(16)
font.setBold(False)
font.setItalic(False)
font.setWeight(50)
font.setKerning(True)
self.input_your_city.setFont(font)
self.input_your_city.setFocusPolicy(QtCore.Qt.ClickFocus)
self.input_your_city.setAcceptDrops(False)
self.input_your_city.setStyleSheet("QLineEdit {\n"
" background-color: /*#00FFFF*/#00FFFF;\n"
" /*border: 1px solid rgb(0, 85, 255);*/\n"
" border-radius: 3px;\n"
" color: #000000;\n"
" font: 30pt \"Gotham Pro\";\n"
" padding-left: 10px;\n"
" padding-right: 10px;\n"
"}\n"
"\n"
"QLineEdit:focus {\n"
" border: 1px solid #727173;\n"
"}")
self.input_your_city.setInputMethodHints(QtCore.Qt.ImhNone)
self.input_your_city.setInputMask("")
self.input_your_city.setFrame(True)
self.input_your_city.setEchoMode(QtWidgets.QLineEdit.Normal)
self.input_your_city.setDragEnabled(False)
self.input_your_city.setReadOnly(False)
self.input_your_city.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle)
self.input_your_city.setClearButtonEnabled(False)
self.input_your_city.setObjectName("inputCity")
self.buttonGet = QtWidgets.QPushButton(weather_form)
self.buttonGet.setGeometry(QtCore.QRect(260, 160, 222, 62))
self.buttonGet.setFocusPolicy(QtCore.Qt.ClickFocus)
self.buttonGet.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.buttonGet.setAutoFillBackground(False)
self.buttonGet.setStyleSheet("QPushButton {\n"
" background-color: /*#B8CCD5*/#FCFAF7;\n"
" border-radius: 3px;\n"
" color: #727173;\n"
" font: 12pt \"Gotham Pro\";\n"
" padding-left: 6px;\n"
" padding-right: 6px;\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" border: 1px solid #727173;\n"
"}")
self.buttonGet.setInputMethodHints(QtCore.Qt.ImhNone)
self.buttonGet.setCheckable(False)
self.buttonGet.setAutoRepeat(False)
self.buttonGet.setAutoExclusive(False)
self.buttonGet.setAutoRepeatDelay(304)
self.buttonGet.setObjectName("buttonGet")
self.weather_in_city = QtWidgets.QLabel(weather_form)
self.weather_in_city.setGeometry(QtCore.QRect(120, 240, 502, 42))
self.weather_in_city.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 20pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.weather_in_city.setFrameShape(QtWidgets.QFrame.NoFrame)
self.weather_in_city.setFrameShadow(QtWidgets.QFrame.Plain)
self.weather_in_city.setTextFormat(QtCore.Qt.AutoText)
self.weather_in_city.setScaledContents(False)
self.weather_in_city.setAlignment(QtCore.Qt.AlignCenter)
self.weather_in_city.setWordWrap(False)
self.weather_in_city.setObjectName("text_weather_in_city")
self.temp = QtWidgets.QLabel(weather_form)
self.temp.setGeometry(QtCore.QRect(20, 380, 702, 102))
self.temp.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 56pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.temp.setFrameShape(QtWidgets.QFrame.NoFrame)
self.temp.setFrameShadow(QtWidgets.QFrame.Plain)
self.temp.setTextFormat(QtCore.Qt.AutoText)
self.temp.setScaledContents(False)
self.temp.setAlignment(QtCore.Qt.AlignCenter)
self.temp.setWordWrap(False)
self.temp.setObjectName("text_temp")
self.description = QtWidgets.QLabel(weather_form)
self.description.setGeometry(QtCore.QRect(20, 280, 702, 102))
self.description.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 37px \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.description.setFrameShape(QtWidgets.QFrame.NoFrame)
self.description.setFrameShadow(QtWidgets.QFrame.Plain)
self.description.setTextFormat(QtCore.Qt.AutoText)
self.description.setScaledContents(False)
self.description.setAlignment(QtCore.Qt.AlignCenter)
self.description.setWordWrap(False)
self.description.setObjectName("text_description")
self.likes_temp = QtWidgets.QLabel(weather_form)
self.likes_temp.setGeometry(QtCore.QRect(20, 480, 702, 82))
self.likes_temp.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 34px \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.likes_temp.setFrameShape(QtWidgets.QFrame.NoFrame)
self.likes_temp.setFrameShadow(QtWidgets.QFrame.Plain)
self.likes_temp.setTextFormat(QtCore.Qt.AutoText)
self.likes_temp.setScaledContents(False)
self.likes_temp.setAlignment(QtCore.Qt.AlignCenter)
self.likes_temp.setWordWrap(False)
self.likes_temp.setObjectName("text_temp_likes")
self.pressure = QtWidgets.QLabel(weather_form)
self.pressure.setGeometry(QtCore.QRect(20, 560, 702, 62))
self.pressure.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.pressure.setFrameShape(QtWidgets.QFrame.NoFrame)
self.pressure.setFrameShadow(QtWidgets.QFrame.Plain)
self.pressure.setTextFormat(QtCore.Qt.AutoText)
self.pressure.setScaledContents(False)
self.pressure.setAlignment(QtCore.Qt.AlignCenter)
self.pressure.setWordWrap(False)
self.pressure.setObjectName("text_pressure")
self.humidity = QtWidgets.QLabel(weather_form)
self.humidity.setGeometry(QtCore.QRect(20, 620, 702, 40))
self.humidity.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.humidity.setFrameShape(QtWidgets.QFrame.NoFrame)
self.humidity.setFrameShadow(QtWidgets.QFrame.Plain)
self.humidity.setTextFormat(QtCore.Qt.AutoText)
self.humidity.setScaledContents(False)
self.humidity.setAlignment(QtCore.Qt.AlignCenter)
self.humidity.setWordWrap(False)
self.humidity.setObjectName("text_humidity")
self.speed_wind = QtWidgets.QLabel(weather_form)
self.speed_wind.setGeometry(QtCore.QRect(20, 660, 702, 40))
self.speed_wind.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 30pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.speed_wind.setFrameShape(QtWidgets.QFrame.NoFrame)
self.speed_wind.setFrameShadow(QtWidgets.QFrame.Plain)
self.speed_wind.setTextFormat(QtCore.Qt.AutoText)
self.speed_wind.setScaledContents(False)
self.speed_wind.setAlignment(QtCore.Qt.AlignCenter)
self.speed_wind.setWordWrap(False)
self.speed_wind.setObjectName("text_speed_wind")
self.direction_wind = QtWidgets.QLabel(weather_form)
self.direction_wind.setGeometry(QtCore.QRect(20, 700, 702, 40))
self.direction_wind.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 24pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.direction_wind.setFrameShape(QtWidgets.QFrame.NoFrame)
self.direction_wind.setFrameShadow(QtWidgets.QFrame.Plain)
self.direction_wind.setTextFormat(QtCore.Qt.AutoText)
self.direction_wind.setScaledContents(False)
self.direction_wind.setAlignment(QtCore.Qt.AlignCenter)
self.direction_wind.setWordWrap(False)
self.direction_wind.setObjectName("text_direction_wind")
self.block_snow = QtWidgets.QGroupBox(weather_form)
self.block_snow.setGeometry(QtCore.QRect(40, 760, 162, 102))
self.block_snow.setStyleSheet("QGroupBox {\n"
" color:white;\n"
" font: 24px \"Gotham Pro Medium\";\n"
"}")
self.block_snow.setAlignment(QtCore.Qt.AlignCenter)
self.block_snow.setObjectName("block_snow")
self.snow_hour = QtWidgets.QLabel(self.block_snow)
self.snow_hour.setGeometry(QtCore.QRect(20, 36, 124, 22))
self.snow_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.snow_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.snow_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.snow_hour.setTextFormat(QtCore.Qt.AutoText)
self.snow_hour.setScaledContents(False)
self.snow_hour.setAlignment(QtCore.Qt.AlignCenter)
self.snow_hour.setWordWrap(False)
self.snow_hour.setObjectName("text_snow_hour")
self.snow_3_hour = QtWidgets.QLabel(self.block_snow)
self.snow_3_hour.setGeometry(QtCore.QRect(20, 64, 124, 22))
self.snow_3_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.snow_3_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.snow_3_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.snow_3_hour.setTextFormat(QtCore.Qt.AutoText)
self.snow_3_hour.setScaledContents(False)
self.snow_3_hour.setAlignment(QtCore.Qt.AlignCenter)
self.snow_3_hour.setWordWrap(False)
self.snow_3_hour.setObjectName("text_snow_3_hour")
self.groupBox_2 = QtWidgets.QGroupBox(weather_form)
self.groupBox_2.setGeometry(QtCore.QRect(540, 760, 162, 102))
self.groupBox_2.setStyleSheet("QGroupBox {\n"
" color:white;\n"
" font: 24px \"Gotham Pro Medium\";\n"
"}")
self.groupBox_2.setAlignment(QtCore.Qt.AlignCenter)
self.groupBox_2.setObjectName("groupBox_2")
self.rain_hour = QtWidgets.QLabel(self.groupBox_2)
self.rain_hour.setGeometry(QtCore.QRect(20, 36, 124, 22))
self.rain_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.rain_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.rain_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.rain_hour.setTextFormat(QtCore.Qt.AutoText)
self.rain_hour.setScaledContents(False)
self.rain_hour.setAlignment(QtCore.Qt.AlignCenter)
self.rain_hour.setWordWrap(False)
self.rain_hour.setObjectName("text_rain_hour")
self.rain_3_hour = QtWidgets.QLabel(self.groupBox_2)
self.rain_3_hour.setGeometry(QtCore.QRect(20, 64, 124, 22))
self.rain_3_hour.setStyleSheet("QLabel {\n"
" color: white;\n"
" font: 19pt \"Gotham Pro Narrow\";\n"
"}\n"
"")
self.rain_3_hour.setFrameShape(QtWidgets.QFrame.NoFrame)
self.rain_3_hour.setFrameShadow(QtWidgets.QFrame.Plain)
self.rain_3_hour.setTextFormat(QtCore.Qt.AutoText)
self.rain_3_hour.setScaledContents(False)
self.rain_3_hour.setAlignment(QtCore.Qt.AlignCenter)
self.rain_3_hour.setWordWrap(False)
self.rain_3_hour.setObjectName("text_rain_3_hour")
self.button_close = QtWidgets.QPushButton(weather_form)
self.button_close.setGeometry(QtCore.QRect(950, 8, 40, 40))
self.button_close.setStyleSheet("QPushButton {\n"
" background-color: /*#A52A2A*/#A52A2A;\n"
" border:none;\n"
" font: 19pt \"Arial Black\";\n"
" color: white;\n"
"}\n"
"\n"
"QPushButton:hover {\n"
" border: 2px solid red;\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" border: 2px solid red;\n"
" color: red;\n"
"}")
self.button_close.setCheckable(False)
self.button_close.setDefault(True)
self.button_close.setFlat(True)
self.button_close.setObjectName("button_close")
self.retranslateUi(weather_form)
QtCore.QMetaObject.connectSlotsByName(weather_form)
def retranslateUi(self, weather_form):
_translate = QtCore.QCoreApplication.translate
weather_form.setWindowTitle(_translate("weather_form", "Weather_finder"))
self.input_your_city.setPlaceholderText(_translate("weather_form", "Введите город"))
self.buttonGet.setText(_translate("weather_form", "Получить"))
self.weather_in_city.setText(_translate("weather_form", "Погода -"))
self.temp.setText(_translate("weather_form", "-"))
self.description.setText(_translate("weather_form", "-"))
self.likes_temp.setText(_translate("weather_form", "По ощущениям -"))
self.pressure.setText(_translate("weather_form", "Атмосферное давление -"))
self.humidity.setText(_translate("weather_form", "Влажность -"))
self.speed_wind.setText(_translate("weather_form", "Скорость ветра -"))
self.direction_wind.setText(_translate("weather_form", "Направление ветра -"))
self.block_snow.setTitle(_translate("weather_form", "СНЕГ"))
self.snow_hour.setText(_translate("weather_form", "- мм/час"))
self.snow_3_hour.setText(_translate("weather_form", "- мм/3ч"))
self.groupBox_2.setTitle(_translate("weather_form", "Дождь"))
self.rain_hour.setText(_translate("weather_form", "- мм/час"))
self.rain_3_hour.setText(_translate("weather_form", "- мм/3ч"))
self.button_close.setText(_translate("weather_form", "X"))
