Изменил(а) на 'main2'

This commit is contained in:
artem 2023-04-23 13:30:06 +03:00
parent 70f63d0669
commit 2c889fb80b

43
main2
View File

@ -21,6 +21,12 @@ plotLen = 20
valArr = [20] * plotLen# список из 20 двадцаток
plot = None #Флаг
"""
след функция принимает значение True/False, после осуществляет ветвление,
изменяет текст экземпляра "Вкл/Вылк", скрывает или показывает некие лэйблы 20 или 24,
также выводит оповещение о срабатывании
"""
def led1 (checked): #отвечает за включение первого светодиода
if checked: #класс form это класс нашей формы, то есть окна приложения
form.pushButton_2.setText("Выкл") #pushButton - это экземпляры класса formдля работы кнопок
@ -60,14 +66,15 @@ def led3 (checked): #отвечает за включение третьего
print ("I'm worked too")
def updateLCD(): #обновление дисплея
global temp #переменная для работы с дисплеем
form.lcdNumber.display(temp)
def updateLCD(): #функция,обновление дисплея, не принимает никаких значений
global temp #глобальная переменная для работы с дисплеем
form.lcdNumber.display(temp) # к экземпляру класса form применяется метод display(temp),
#откуда берется значение переменной temp неизвестно
def sed (): #проверка работы элемента
print ("I'm worked!")
led_data = { #список из словарей с начальными параметрами у светодиодов
led_data = { #список из словарей с начальными параметрами у светодиодов, надо сделать его атрибутом главного класса
"leds1": {"red": 0, "green": 0, "blue": 0},
"leds2": {"red": 0, "green": 0, "blue": 0},
"leds3": {"red": 0, "green": 0, "blue": 0},
@ -82,14 +89,15 @@ led_data = { #список из словарей с начальными пар
# практически одинаковое название 3 двух функц
def vkl():
for led in form.leds:
for led in form.leds: #выставление значений светодиодов через экземпляр класса
#осторожно! Одинаковые названия у объектов Led и JSON.
led.setStyleSheet(f"background-color: yellow;")
#далее идет изменение списка из словарей led_data[led.objectName()-элемент списка]["red"-ключ]=225- значение ключа
led_data[led.objectName()]["red"] = 255 # выставление "цвета" из промежутка 0-255?
led_data[led.objectName()]["green"] = 255
led_data[led.objectName()]["blue"] = 0
def vikl():
def vikl():# функция аналогична vkl, только тут значение ключей принимает 0
for led in form.leds:
#осторожно! Одинаковые названия у объектов Led и JSON.
led.setStyleSheet(f"background-color: black;")
@ -98,10 +106,10 @@ def vikl():
led_data[led.objectName()]["blue"] = 0
def color(): #функция работы с отображением цвета в программе
color = QColorDialog.getColor() #получение цвета от диалога
color = QColorDialog.getColor() #получение цвета, color примает значение атрибута класса
if color.isValid(): #проверка наличия цвета и применение его над изображением программы
palette = QPalette()
palette.setColor(QPalette.Button, color)
palette = QPalette()#экземпляр класса QPalette
palette.setColor(QPalette.Button, color) #применение метода setColor(кнопка, цвет ) к экземпляру
form.color_b.setPalette(palette)
for led in form.leds:
led.setStyleSheet(f"background-color: {color.name()};")
@ -112,8 +120,8 @@ def color(): #функция работы с отображением цвета
def led_clicked(event):
colors = led.palette().color(QPalette.Background)
sender= QApplication.widgetAt(event.globalPos()) #QApplication.widgetAt() для получения текущего виджета, на котором было совершено действие
color = QColorDialog.getColor()
if color.isValid():
color = QColorDialog.getColor() #получение цвета, color примает значение атрибута класса
if color.isValid(): # применение метода к color для его проверки на соответствие
#caution! Naming will be the same for a Led and JSON led objects
sender.setStyleSheet(f"background-color: {color.name()};")
led_data[sender.objectName()]["red"] = color.red()
@ -122,20 +130,21 @@ def led_clicked(event):
else:
form.leds.setStyleSheet(" ")
def sendMessage():
def sendMessage():# отправка сообщений на компьютер через url
url = form.lineEdit.text()
labels_dict = {}
labels_dict["LED1"] = form.label_20.isVisible()
labels_dict = {}# формирование словаря: key-имя светодиода, value- значение экземпляра
labels_dict["LED1"] = form.label_20.isVisible()
labels_dict["LED2"] = form.label_26.isVisible()
labels_dict["LED3"] = form.label_29.isVisible()
json_data = {}
json_data = {}# упаковка данных в json пакет из словарей led_data, labels_dict
json_data.update(led_data)
json_data.update(labels_dict)
json_str = json.dumps(json_data, separators=(',', ':'))
json_str = json.dumps(json_data, separators=(',', ':'))# формирование строки, в формате json, из словаря json_data , которую
# разделили по наличию ','ИЛИ ':'
data_str = 'Я отправляю текст на: ' + url + '\n'+ json_str
form.textEdit.setPlainText(data_str)
form.textEdit.setPlainText(data_str) #оповещение об отправке текста (ранне сформированной json_str) на url
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} #заголовки запроса
response = requests.post(url, json=json_data, headers=headers) #отправка POST запроса