From 2a11d17d807ab8df80351d3d5813a54de5a89250 Mon Sep 17 00:00:00 2001 From: dm1sh Date: Sun, 28 May 2023 04:44:52 +0300 Subject: [PATCH] comments shitposting --- Main.py | 300 -------------------------------------------------------- main2 | 27 +++-- 2 files changed, 13 insertions(+), 314 deletions(-) delete mode 100644 Main.py diff --git a/Main.py b/Main.py deleted file mode 100644 index cfd57a2..0000000 --- a/Main.py +++ /dev/null @@ -1,300 +0,0 @@ -from PyQt5 import QtCore, QtGui, QtWidgets -from PyQt5 import uic -from PyQt5.QtGui import QColor, QPalette -from PyQt5.QtGui import QPixmap -from PyQt5.QtCore import QTimer -from PyQt5.QtWidgets import * -from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest - -import requests -import time -import json -import Res_rc -import copy -import pyqtgraph as pg -import sys -#import matplotlib.pyplot as plt - -colors = {} -last_clicked_label = None -plotLen = 20 -valArr = [20] * plotLen -plot = None - -def led1 (checked): - if checked: - form.pushButton_2.setText("Выкл") - print("I'm worked too much") - form.label_24.hide() - form.label_20.show() - else: - form.label_20.hide() - form.label_24.show() - form.pushButton_2.setText("Вкл") - print ("I'm worked too") - -def led2 (checked): - if checked: - form.pushButton_3.setText("Выкл") - print("I'm worked too much") - form.label_27.hide() - form.label_26.show() - else: - form.label_26.hide() - form.label_27.show() - form.pushButton_3.setText("Вкл") - print ("I'm worked too") - -def led3 (checked): - if checked: - form.pushButton_4.setText("Выкл") - print("I'm worked too much") - form.label_31.hide() - form.label_29.show() - #state = form.label_24.isVisible() - - else: - form.label_29.hide() - form.label_31.show() - form.pushButton_4.setText("Вкл") - print ("I'm worked too") - - -def updateLCD(): - global temp - form.lcdNumber.display(temp) - -def sed (): - print ("I'm worked!") - -led_data = { - "leds1": {"red": 0, "green": 0, "blue": 0}, - "leds2": {"red": 0, "green": 0, "blue": 0}, - "leds3": {"red": 0, "green": 0, "blue": 0}, - "leds4": {"red": 0, "green": 0, "blue": 0}, - "leds5": {"red": 0, "green": 0, "blue": 0}, - "leds6": {"red": 0, "green": 0, "blue": 0}, - "leds7": {"red": 0, "green": 0, "blue": 0}, - "leds8": {"red": 0, "green": 0, "blue": 0}, -} - -def vkl(): - for led in form.leds: - #caution! Naming will be the same for a Led and JSON led objects - led.setStyleSheet(f"background-color: yellow;") - led_data[led.objectName()]["red"] = 255 - led_data[led.objectName()]["green"] = 255 - led_data[led.objectName()]["blue"] = 0 - -def vikl(): - for led in form.leds: - #caution! Naming will be the same for a Led and JSON led objects - led.setStyleSheet(f"background-color: black;") - led_data[led.objectName()]["red"] = 0 - led_data[led.objectName()]["green"] = 0 - led_data[led.objectName()]["blue"] = 0 - -def color(): - color = QColorDialog.getColor() - if color.isValid(): - palette = QPalette() - palette.setColor(QPalette.Button, color) - form.color_b.setPalette(palette) - for led in form.leds: - led.setStyleSheet(f"background-color: {color.name()};") - led_data[led.objectName()]["red"] = color.red() - led_data[led.objectName()]["green"] = color.green() - led_data[led.objectName()]["blue"] = color.blue() - -def led_clicked(event): - colors = led.palette().color(QPalette.Background) - sender= QApplication.widgetAt(event.globalPos()) #QApplication.widgetAt() для получения текущего виджета, на котором было совершено действие - color = QColorDialog.getColor() - if color.isValid(): - #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() - led_data[sender.objectName()]["green"] = color.green() - led_data[sender.objectName()]["blue"] = color.blue() - else: - form.leds.setStyleSheet(" ") - -def sendMessage(): - url = form.lineEdit.text() - labels_dict = {} - 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.update(led_data) - json_data.update(labels_dict) - json_str = json.dumps(json_data, separators=(',', ':')) - - data_str = 'Я отправляю текст на: ' + url + '\n'+ json_str - form.textEdit.setPlainText(data_str) - - headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} #заголовки запроса - response = requests.post(url, json=json_data, headers=headers) #отправка POST запроса - - # обрабатываем ответ и выводим его в поле вывода - if response.status_code == 200: - form.textEdit.append('О, все прошло успешно!\n') #выводим значение в line_edit - else: - form.textEdit.append('Ошибка при получении данных') - - - -def getValueFromMacket(): - url = form.lineEdit_2.text() - response = requests.get(url) #отправка POST запроса - - # обрабатываем ответ и выводим его в поле вывода - if response.status_code == 200: - data=response.json() #функция преобразования данных в объект питон - #Parse the date - form.textEdit.append(json.dumps(data)) #выводим значение в line_edit - form.textEdit.append(str(data["temperature"])) - - bs = list() - bs.append(data["button1State"]) - bs.append(data["button2State"]) - bs.append(data["button3State"]) - update_button(bs) - - update_pressure(data["pressure"]) - - form.lcdNumber_7.display(data["ambient_light"]) - form.lcdNumber_2.display (data["red_light"]) - form.lcdNumber_3.display (data["green_light"]) - form.lcdNumber_4.display (data["blue_light"]) - form.lcdNumber_8.display (data["lightness"]) - - form.lcdNumber_5.display(data['acceleration_x']) - form.lcdNumber_9.display (data['acceleration_y']) - form.lcdNumber_6.display (data['acceleration_z']) - - led1(data['LED1']) - led2(data['LED2']) - led3(data['LED3']) - valArr.pop(0) - valArr.append(data["temperature"]) - print(valArr) - UpdatePlot(plot, valArr) - else: - form.textEdit.append('Ошибка при получении данных') - - -#json.load(file) @ACHT! Method to convert Str to JSON - - -def update_pressure(p): - form.lcd_pressure.display(p) - -def update_button (bs): - for i in range(1, 4): - button_state = bs[i-1] - if button_state == 'True': - getattr(form, f'on_{i}').show() - getattr(form, f'off_{i}').hide() - else: - getattr(form, f'on_{i}').hide() - getattr(form, f'off_{i}').show() - - -def UpdatePlot(plot, val): - x = list(range(1, len(valArr)+1)) - bargraph = pg.BarGraphItem(x = x, height = val, width = 0.6, brush ='g') - plot.clear() - plot.addItem(bargraph) - -def Plots(form, valArr): - widget = QWidget() - plot = pg.plot() #создает объект PlotWidget из библиотеки PyqtGraph - - x = list(range(1, len(valArr)+1)) - bargraph = pg.BarGraphItem(x = x, height = valArr, width = 0.6, brush ='g') - plot.addItem(bargraph) - - # Creating a grid layout - layout = QGridLayout() - layout.addWidget(plot, 0,0) - form.plotwidget.setLayout(layout) - - return plot - -def main(): - with open('./config.json') as f: # открывает файл 'config.json' - conf = json.load(open('config.json')) # загружает его содержимое в переменную 'conf' в формате словаря (dictionary) при помощи функции 'json.load()' - - # выводит все ключи словаря 'conf' при помощи цикла 'for'. - print("Find an arguments:") - for i in conf: - print(i) - - Form, Window = uic.loadUiType(conf['uiPath'] + conf['uiFileName']) - - app = QApplication(sys.argv) # Создаем экземпляр QApplication и передаем параметры командной строки - window = Window() - form = Form() - form.setupUi(window) - window.show() # Окна скрыты по умолчанию! - window.setWindowTitle('Lr4') #nazvanie - form.pushButton.clicked.connect(sendMessage) #привязываем функцию к кнопке Отправить - form.lineEdit.setText("http://" + conf['defaultMDNSname'] + conf['defaultPostRoute']) - form.lineEdit_2.setText("http://" + conf['defaultMDNSname'] + conf['defaultGetRoute']) - form.pushButton_5.clicked.connect(getValueFromMacket) #привязываем функцию к кнопке Отправить GET запрос - - - form.pushButton_2.setCheckable(True) #вкл режим перекл - form.pushButton_2.setChecked(False) #нач значение - form.label_20.hide() - form.pushButton_2.toggled["bool"].connect(led1) - - form.pushButton_3.setCheckable(True) #вкл режим перекл - form.pushButton_3.setChecked(False) #нач значение - form.label_26.hide() - form.pushButton_3.toggled["bool"].connect(led2) - - form.pushButton_4.setCheckable(True) #вкл режим перекл - form.pushButton_4.setChecked(False) #нач значение - form.label_29.hide() - form.pushButton_4.toggled["bool"].connect(led3) - - form.on_1.hide() - form.on_2.hide() - form.on_3.hide() - - form.lcdNumber.display(45) - - - form.leds = [form.leds1, form.leds2, form.leds3, form.leds4, form.leds5, form.leds6, form.leds7, form.leds8] - - - for led in form.leds: - led.mousePressEvent = led_clicked - - timer = QTimer() - timer.setInterval(1000) - - #Connect the timer to the update_pressure function - #TODO connect to getSensValue from macket - # timer.timeout.connect(update_pressure) - # timer.timeout.connect(update_button) - # timer.timeout.connect(update_light) - # timer.timeout.connect(update_acceleration) - - timer.start() - - form.vkl_b.clicked.connect(vkl) - form.vikl_b.clicked.connect(vikl) - form.color_b.clicked.connect(color) - - plot = Plots(form, valArr) - - sys.exit (app.exec_()) # Запуск цикла событий - - -if __name__ == "__main__": - main() - \ No newline at end of file diff --git a/main2 b/main2 index 92ed544..a811929 100644 --- a/main2 +++ b/main2 @@ -16,10 +16,10 @@ import pyqtgraph as pg #import sys colors = {} #переменная для работы с цветом, позже нам понадобится -last_clicked_label = None #Флаг +last_clicked_label = None plotLen = 20 valArr = [20] * plotLen# список из 20 двадцаток -plot = None #Флаг +plot = None """ след функция принимает значение True/False, после осуществляет ветвление, @@ -36,10 +36,10 @@ plot = None #Флаг #объявить словарь для label_№? чтобы в дальнейшем к нему обращаться def led1 (checked): #отвечает за включение первого светодиода if checked: #класс form это класс нашей формы, то есть окна приложения - form.pushButton_2.setText("Выкл") #pushButton - это экземпляры класса formдля работы кнопок + form.pushButton_2.setText("Выкл") #pushButton - для работы кнопок print("I'm worked too much") form.label_24.hide() #label это текст на окне приложения и его прячем - form.label_20.show() # к экземпляру класса form применяется метод show(), для отображения виджета на экране + form.label_20.show() # метод show(), для отображения виджета на экране else: form.label_20.hide() form.label_24.show() @@ -75,7 +75,7 @@ def led3 (checked): #отвечает за включение третьего def updateLCD(): #функция,обновление дисплея, не принимает никаких значений global temp #глобальная переменная для работы с дисплеем - form.lcdNumber.display(temp) # к экземпляру класса form применяется метод display(temp), + form.lcdNumber.display(temp) # применяется метод display(temp), #откуда берется значение переменной temp неизвестно def sed (): #проверка работы элемента @@ -113,8 +113,8 @@ def vikl():# функция аналогична vkl, только тут зна led_data[led.objectName()]["blue"] = 0 def color(): #функция работы с отображением цвета в программе - color = QColorDialog.getColor() #получение цвета, color примает значение атрибута класса - if color.isValid(): #проверка наличия цвета и применение его над изображением программы + color = QColorDialog.getColor() #получение цвета, color примает + if color.isValid(): #проверка цвета и применение его над изображением программы palette = QPalette()#экземпляр класса QPalette palette.setColor(QPalette.Button, color) #применение метода setColor(кнопка, цвет ) к экземпляру form.color_b.setPalette(palette) @@ -127,8 +127,8 @@ def color(): #функция работы с отображением цвета def led_clicked(event): colors = led.palette().color(QPalette.Background) sender= QApplication.widgetAt(event.globalPos()) #QApplication.widgetAt() для получения текущего виджета, на котором было совершено действие - color = QColorDialog.getColor() #получение цвета, color примает значение атрибута класса - if color.isValid(): # применение метода к color для его проверки на соответствие + 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() @@ -137,9 +137,9 @@ def led_clicked(event): else: form.leds.setStyleSheet(" ") -def sendMessage():# отправка сообщений на компьютер через url +def sendMessage():# отправка сообщений на через url url = form.lineEdit.text() - labels_dict = {}# формирование словаря: key-имя светодиода, value- значение экземпляра + 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() @@ -147,8 +147,7 @@ def sendMessage():# отправка сообщений на компьютер 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, из словаря json_data , которую - # разделили по наличию ','ИЛИ ':' + json_str = json.dumps(json_data, separators=(',', ':'))# формирование строки, в формате json, из словаря json_data data_str = 'Я отправляю текст на: ' + url + '\n'+ json_str form.textEdit.setPlainText(data_str) #оповещение об отправке текста (ранне сформированной json_str) на url @@ -239,7 +238,7 @@ def Plots(form, valArr): bargraph = pg.BarGraphItem(x = x, height = valArr, width = 0.6, brush ='g') plot.addItem(bargraph) - # Создаём grid layout, который отвечает за определение системы макета визуального представления данных + # Создаём grid layout, который отвечает за положение элемента layout = QGridLayout() layout.addWidget(plot, 0,0) form.plotwidget.setLayout(layout)