Изменил(а) на 'main2'
This commit is contained in:
parent
70f63d0669
commit
2c889fb80b
43
main2
43
main2
@ -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 запроса
|
||||
|
Loading…
x
Reference in New Issue
Block a user