Removed useless files, added production build instructions in README

This commit is contained in:
Dmitriy Shishkov 2023-06-03 23:48:14 +03:00
parent 27d8014f56
commit 633f4369a2
Signed by: dm1sh
GPG Key ID: 027994B0AA357688
7 changed files with 7 additions and 1863 deletions

View File

@ -1,45 +0,0 @@
{
"leds1": {
"red": 0,
"green": 0,
"blue": 0
},
"leds2": {
"red": 0,
"green": 0,
"blue": 0
},
"leds3": {
"red": 84,
"green": 69,
"blue": 255
},
"leds4": {
"red": 0,
"green": 0,
"blue": 0
},
"leds5": {
"red": 102,
"green": 255,
"blue": 173
},
"leds6": {
"red": 0,
"green": 0,
"blue": 0
},
"leds7": {
"red": 222,
"green": 255,
"blue": 58
},
"leds8": {
"red": 0,
"green": 0,
"blue": 0
},
"LED1": false,
"LED2": false,
"LED3": false
}

View File

@ -6,6 +6,7 @@
```
.
|- res/
|- config.json
|- main.py
|- plot.py
@ -26,22 +27,12 @@ python main.py
В нём нужно открыть файл `openapi_mock.json`
То, что нужно сделать помечено комментариями с `TODO:`
Инструкция по сборке финального исполняемого файла:
Помимо этого, необходимо переработать названия виджетов - начало заложено, но там ещё есть куда расти. В нынешнем виде код некорректно работает, так как есть отличия в названиях
```bash
pip install pyinstaller
Кроме того, Артём, мы забыли про функции vkl* и про обработчики для выбора цветов светодиодов. Их нужно переработать как методы того класса (надеюсь, разберёшься)
pyinstaller --onefile main.py
```
Также не забывем, что на самом деле мы должны оформить нашу программу как методички для набора лаб. Скорее всего их будет 2-3:
1. Работа с QT Designer
2. Взаимодействие с PyQT5 - просто описание того, как устанавливать и получать значения у элементов, как подписываться на события
3. (или вторая часть 2) Сетевое взаимодействие - то, как работает QTNetworkAccessManager и иже с ними
По ходу описания также стоит рассказать об неочевидных штуках, которые мы применили, вроде `getattr` или декораторов.
Для примера можно посмотреть на .doc'и на [gdrive](https://drive.google.com/drive/folders/1gwLePKsdFZigg063zDGkK1UWlHsGJBiA)
Если что-то непонятно, не стесняемся гуглить, особенно на английском. Желательно всем глянуть какой-нибудь видосик на ютубе и/или прочитать туториал в интернете, чтобы вообще вкатиться, как работает pyqt - поможет с пониманием, зачем нужны многие вещи.
После окончания сборки в папке dist появится один исполняемый файл, который можно скопировать на другой компьютер и запустить его там без установки питона и требуемых библиотек

View File

@ -1,24 +0,0 @@
https://www.youtube.com/watch?v=CnMfhhx0GBI&list=PL0lO_mIqDDFXeDkOLHmEsL_HAEhw4-xDX&index=3&ab_channel=%D0%93%D0%BE%D1%88%D0%B0%D0%94%D1%83%D0%B4%D0%B0%D1%80%D1%8C
создаем UI
сохраняем .ui
преобразуем через cmd в .py в каталоге рабочем
pyuic5 -x PyQt_app.ui -o main.py
нужна библиотека для Py: в консоди Visual Studio вбиваем: python -m pip install requests
для компиляции py-программы в .exe:
# Открыть командную строку windows
# Установить pyinstaller
pip install pyinstaller
# Затем перейти в папку с Вашим файлом .py в командной строке (при помощи команды cd)
# Запустить команду pyinstaller не забудьте указать имя вашего скрипта
pyinstaller --onefile main.py
# Всё - у вас в папке появится папка src и там будет .exe файл.

333
main2
View File

@ -1,333 +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 matplotlib.pyplot as plt
#import sys
colors = {} #переменная для работы с цветом, позже нам понадобится
last_clicked_label = None
plotLen = 20
valArr = [20] * plotLen# список из 20 двадцаток
plot = None
"""
след функция принимает значение True/False, после осуществляет ветвление,
изменяет текст экземпляра "Вкл/Вылк", скрывает или показывает некие лэйблы 20 или 24,
также выводит оповещение о срабатывании
"""
#Из функций led 1 2 3 нужно сделать метод класса, тк их работа аналогична, сл-но из 3х функций делаем одну, аргумент которой будет checked=True/False
### Будущий класс
#объявить словарь для label_№? чтобы в дальнейшем к нему обращаться
def led1 (checked): #отвечает за включение первого светодиода
if checked: #класс form это класс нашей формы, то есть окна приложения
form.pushButton_2.setText("Выкл") #pushButton - для работы кнопок
print("I'm worked too much")
form.label_24.hide() #label это текст на окне приложения и его прячем
form.label_20.show() # метод 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) # применяется метод display(temp),
#откуда берется значение переменной 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},
}
# практически одинаковое название 3 двух функц
#---Функции vkl, vikl, color, led-clicked, send_Massage, get_Value по смыслу можно определить как методы одного класса, т.к они работают со списком словарей led_data, в основном они изменяют значения его элементов, формируют из него json пакеты, также по значению из словаря применяют методы к экземпл класса form
#объединить в один мето с прянитем True Flase , название switcher
def vkl():
for led in form.leds: #выставление значений светодиодов через экземпляр класса
#осторожно! Одинаковые названия у объектов Led и JSON.
led.setStyleSheet(f"background-color: yellow;")
#далее идет изменение списка из словарей led_data[led.objectName()-элемент списка]["red"-ключ]=225- значение ключа
#s={'red', 'green'}
#for i in s:
#led_data[led.objectName()][i] = 255
led_data[led.objectName()]["red"] = 255 # выставление "цвета" из промежутка 0-255?
led_data[led.objectName()]["green"] = 255
led_data[led.objectName()]["blue"] = 0
def vikl():# функция аналогична vkl, только тут значение ключей принимает 0
for led in form.leds:
#осторожно! Одинаковые названия у объектов Led и JSON.
#s={'red', 'green',"blue"}
#for i in s:
#led_data[led.objectName()][i] = 0
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() #получение цвета, color примает
if color.isValid(): #проверка цвета и применение его над изображением программы
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()};")
#переделать аналогично vikl vkl
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() #получение цвета, 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()
led_data[sender.objectName()]["green"] = color.green()
led_data[sender.objectName()]["blue"] = color.blue()
else:
form.leds.setStyleSheet(" ")
def sendMessage():# отправка сообщений на через url
url = form.lineEdit.text()
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 пакет из словарей led_data, labels_dict
json_data.update(led_data)
json_data.update(labels_dict)
json_str = json.dumps(json_data, separators=(',', ':'))# формирование строки, в формате json, из словаря json_data
data_str = 'Я отправляю текст на: ' + url + '\n'+ json_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 запроса
# обрабатываем ответ и выводим его в поле вывода
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
#--- Три функции на апдейт, делаем класс с 3мя методами, тут класс нужен просто для удобоваримого восприятия кода
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)
#---
# Отдельная функция, не по смыслу, не по переменным не попадает ни в один из 3х возможных классов
def Plots(form, valArr):
widget = QWidget()
plot = pg.plot() #создает объект PlotWidget из библиотеки PyqtGraph
#PlotWidget — это один из базовых конструктовров класса pyqtgraph, отвечающий за работу с
#виджетами, то есть элементами интерфейса, выводящими небольшую информацию
x = list(range(1, len(valArr)+1))
bargraph = pg.BarGraphItem(x = x, height = valArr, width = 0.6, brush ='g')
plot.addItem(bargraph)
# Создаём grid layout, который отвечает за положение элемента
layout = QGridLayout()
layout.addWidget(plot, 0,0)
form.plotwidget.setLayout(layout)
return plot
if __name__ == "__main__":
# Opening JSON file
f = open('config.json') #открывает файл 'config.json', загружает его содержимое в переменную 'conf' в формате словаря (dictionary) при помощи функции 'json.load()', а затем выводит все ключи словаря 'conf' при помощи цикла 'for'.
conf = json.load(open('config.json'))
f.close()
print("Find an arguments:")
for i in conf:
print(i)
import sys
Form, Window = uic.loadUiType(conf['uiPath'] + conf['uiFileName'])
app = QApplication(sys.argv)# Создаем экземпляр QApplication и передаем параметры командной строки
window = Window() #создание экземпляра window класса Window для работы с окном приложения
form = Form() #создание экземпляра 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_()) # Запуск цикла событий

File diff suppressed because it is too large Load Diff

View File

@ -1,368 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/PyQt_app.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1185, 622)
MainWindow.setMinimumSize(QtCore.QSize(1185, 622))
MainWindow.setMaximumSize(QtCore.QSize(1185, 622))
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton_send_post = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_send_post.setGeometry(QtCore.QRect(1050, 10, 101, 21))
self.pushButton_send_post.setObjectName("pushButton_send_post")
self.label_url = QtWidgets.QLabel(self.centralwidget)
self.label_url.setGeometry(QtCore.QRect(10, 0, 51, 41))
self.label_url.setObjectName("label_url")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(50, 10, 981, 21))
self.lineEdit.setObjectName("lineEdit")
self.label_message = QtWidgets.QLabel(self.centralwidget)
self.label_message.setGeometry(QtCore.QRect(10, 40, 71, 20))
self.label_message.setObjectName("label_message")
self.lcdNumber = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber.setGeometry(QtCore.QRect(550, 190, 141, 41))
self.lcdNumber.setFrameShape(QtWidgets.QFrame.Box)
self.lcdNumber.setProperty("value", 5.0)
self.lcdNumber.setObjectName("lcdNumber")
self.label_temp = QtWidgets.QLabel(self.centralwidget)
self.label_temp.setGeometry(QtCore.QRect(310, 190, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_temp.setFont(font)
self.label_temp.setTextFormat(QtCore.Qt.AutoText)
self.label_temp.setScaledContents(False)
self.label_temp.setObjectName("label_temp")
self.lcdNumber_2 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_2.setGeometry(QtCore.QRect(540, 470, 81, 20))
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.lcdNumber_2.setFont(font)
self.lcdNumber_2.setStyleSheet("QLCDNumber { color: black; }")
self.lcdNumber_2.setFrameShape(QtWidgets.QFrame.Box)
self.lcdNumber_2.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_2.setProperty("value", 5.0)
self.lcdNumber_2.setObjectName("lcdNumber_2")
self.lcdNumber_3 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_3.setGeometry(QtCore.QRect(620, 470, 81, 20))
self.lcdNumber_3.setStyleSheet("color: rgb(0, 0, 0);")
self.lcdNumber_3.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_3.setProperty("value", 5.0)
self.lcdNumber_3.setObjectName("lcdNumber_3")
self.lcdNumber_4 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_4.setGeometry(QtCore.QRect(700, 470, 81, 20))
self.lcdNumber_4.setSmallDecimalPoint(False)
self.lcdNumber_4.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_4.setObjectName("lcdNumber_4")
self.label_r = QtWidgets.QLabel(self.centralwidget)
self.label_r.setGeometry(QtCore.QRect(570, 500, 47, 13))
self.label_r.setObjectName("label_r")
self.label_g = QtWidgets.QLabel(self.centralwidget)
self.label_g.setGeometry(QtCore.QRect(650, 500, 47, 13))
self.label_g.setObjectName("label_g")
self.label_b = QtWidgets.QLabel(self.centralwidget)
self.label_b.setGeometry(QtCore.QRect(730, 500, 47, 13))
self.label_b.setObjectName("label_b")
self.off_1 = QtWidgets.QLabel(self.centralwidget)
self.off_1.setGeometry(QtCore.QRect(804, 100, 61, 51))
self.off_1.setText("")
self.off_1.setPixmap(QtGui.QPixmap(":/img/off.svg"))
self.off_1.setScaledContents(True)
self.off_1.setObjectName("off_1")
self.on_1 = QtWidgets.QLabel(self.centralwidget)
self.on_1.setGeometry(QtCore.QRect(804, 100, 61, 51))
self.on_1.setText("")
self.on_1.setPixmap(QtGui.QPixmap(":/img/ON.svg"))
self.on_1.setScaledContents(True)
self.on_1.setObjectName("on_1")
self.label_led_on1 = QtWidgets.QLabel(self.centralwidget)
self.label_led_on1.setGeometry(QtCore.QRect(390, 70, 61, 61))
self.label_led_on1.setText("")
self.label_led_on1.setPixmap(QtGui.QPixmap(":/img/led_on.svg"))
self.label_led_on1.setScaledContents(True)
self.label_led_on1.setObjectName("label_led_on1")
self.label_sensor_print1 = QtWidgets.QLabel(self.centralwidget)
self.label_sensor_print1.setEnabled(True)
self.label_sensor_print1.setGeometry(QtCore.QRect(390, 70, 61, 61))
self.label_sensor_print1.setText("")
self.label_sensor_print1.setPixmap(QtGui.QPixmap(":/img/led_off.svg"))
self.label_sensor_print1.setScaledContents(True)
self.label_sensor_print1.setObjectName("label_sensor_print1")
self.pushButton_sensor1 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_sensor1.setGeometry(QtCore.QRect(390, 140, 71, 21))
self.pushButton_sensor1.setObjectName("pushButton_sensor1")
self.pushButton_sensor2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_sensor2.setGeometry(QtCore.QRect(480, 140, 71, 21))
self.pushButton_sensor2.setObjectName("pushButton_sensor2")
self.label_led_on2 = QtWidgets.QLabel(self.centralwidget)
self.label_led_on2.setGeometry(QtCore.QRect(480, 70, 61, 61))
self.label_led_on2.setText("")
self.label_led_on2.setPixmap(QtGui.QPixmap(":/img/led_on.svg"))
self.label_led_on2.setScaledContents(True)
self.label_led_on2.setObjectName("label_led_on2")
self.label_sensor_print2 = QtWidgets.QLabel(self.centralwidget)
self.label_sensor_print2.setGeometry(QtCore.QRect(480, 70, 61, 61))
self.label_sensor_print2.setText("")
self.label_sensor_print2.setPixmap(QtGui.QPixmap(":/img/led_off.svg"))
self.label_sensor_print2.setScaledContents(True)
self.label_sensor_print2.setObjectName("label_sensor_print2")
self.pushButton_sensor3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_sensor3.setGeometry(QtCore.QRect(570, 140, 71, 21))
self.pushButton_sensor3.setObjectName("pushButton_sensor3")
self.label_led_on3 = QtWidgets.QLabel(self.centralwidget)
self.label_led_on3.setGeometry(QtCore.QRect(570, 70, 61, 61))
self.label_led_on3.setText("")
self.label_led_on3.setPixmap(QtGui.QPixmap(":/img/led_on.svg"))
self.label_led_on3.setScaledContents(True)
self.label_led_on3.setObjectName("label_led_on3")
self.label_sensor_print3 = QtWidgets.QLabel(self.centralwidget)
self.label_sensor_print3.setGeometry(QtCore.QRect(570, 70, 61, 61))
self.label_sensor_print3.setText("")
self.label_sensor_print3.setPixmap(QtGui.QPixmap(":/img/led_off.svg"))
self.label_sensor_print3.setScaledContents(True)
self.label_sensor_print3.setObjectName("label_sensor_print3")
self.off_2 = QtWidgets.QLabel(self.centralwidget)
self.off_2.setGeometry(QtCore.QRect(904, 100, 61, 51))
self.off_2.setText("")
self.off_2.setPixmap(QtGui.QPixmap(":/img/off.svg"))
self.off_2.setScaledContents(True)
self.off_2.setObjectName("off_2")
self.on_2 = QtWidgets.QLabel(self.centralwidget)
self.on_2.setGeometry(QtCore.QRect(904, 100, 61, 51))
self.on_2.setText("")
self.on_2.setPixmap(QtGui.QPixmap(":/img/ON.svg"))
self.on_2.setScaledContents(True)
self.on_2.setObjectName("on_2")
self.off_3 = QtWidgets.QLabel(self.centralwidget)
self.off_3.setGeometry(QtCore.QRect(994, 100, 61, 51))
self.off_3.setText("")
self.off_3.setPixmap(QtGui.QPixmap(":/img/off.svg"))
self.off_3.setScaledContents(True)
self.off_3.setObjectName("off_3")
self.on_3 = QtWidgets.QLabel(self.centralwidget)
self.on_3.setGeometry(QtCore.QRect(994, 100, 61, 51))
self.on_3.setText("")
self.on_3.setPixmap(QtGui.QPixmap(":/img/ON.svg"))
self.on_3.setScaledContents(True)
self.on_3.setObjectName("on_3")
self.label_pressure = QtWidgets.QLabel(self.centralwidget)
self.label_pressure.setGeometry(QtCore.QRect(310, 260, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_pressure.setFont(font)
self.label_pressure.setObjectName("label_pressure")
self.lcd_pressure = QtWidgets.QLCDNumber(self.centralwidget)
self.lcd_pressure.setGeometry(QtCore.QRect(550, 260, 141, 41))
self.lcd_pressure.setFrameShape(QtWidgets.QFrame.Box)
self.lcd_pressure.setProperty("value", 5.0)
self.lcd_pressure.setObjectName("lcd_pressure")
self.lcdNumber_7 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_7.setGeometry(QtCore.QRect(550, 330, 141, 41))
self.lcdNumber_7.setFrameShape(QtWidgets.QFrame.Box)
self.lcdNumber_7.setProperty("value", 5.0)
self.lcdNumber_7.setObjectName("lcdNumber_7")
self.label_illumination = QtWidgets.QLabel(self.centralwidget)
self.label_illumination.setGeometry(QtCore.QRect(310, 330, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_illumination.setFont(font)
self.label_illumination.setObjectName("label_illumination")
self.lcdNumber_8 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_8.setGeometry(QtCore.QRect(550, 400, 141, 41))
self.lcdNumber_8.setFrameShape(QtWidgets.QFrame.Box)
self.lcdNumber_8.setProperty("value", 5.0)
self.lcdNumber_8.setObjectName("lcdNumber_8")
self.label_illumination2 = QtWidgets.QLabel(self.centralwidget)
self.label_illumination2.setGeometry(QtCore.QRect(310, 400, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_illumination2.setFont(font)
self.label_illumination2.setObjectName("label_illumination2")
self.label_accelorometer = QtWidgets.QLabel(self.centralwidget)
self.label_accelorometer.setGeometry(QtCore.QRect(310, 520, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_accelorometer.setFont(font)
self.label_accelorometer.setObjectName("label_accelorometer")
self.vkl_b = QtWidgets.QPushButton(self.centralwidget)
self.vkl_b.setGeometry(QtCore.QRect(1099, 482, 75, 23))
self.vkl_b.setObjectName("vkl_b")
self.vikl_b = QtWidgets.QPushButton(self.centralwidget)
self.vikl_b.setGeometry(QtCore.QRect(1099, 512, 75, 23))
self.vikl_b.setObjectName("vikl_b")
self.color_b = QtWidgets.QPushButton(self.centralwidget)
self.color_b.setGeometry(QtCore.QRect(1099, 542, 75, 23))
self.color_b.setObjectName("color_b")
self.leds1 = QtWidgets.QLabel(self.centralwidget)
self.leds1.setGeometry(QtCore.QRect(1130, 183, 16, 16))
self.leds1.setMouseTracking(False)
self.leds1.setTabletTracking(True)
self.leds1.setFocusPolicy(QtCore.Qt.NoFocus)
self.leds1.setAutoFillBackground(False)
self.leds1.setStyleSheet("QLabel:pressed \n"
" {\n"
" border: 2px solid red;\n"
"}")
self.leds1.setFrameShape(QtWidgets.QFrame.Panel)
self.leds1.setText("")
self.leds1.setObjectName("leds1")
self.leds2 = QtWidgets.QLabel(self.centralwidget)
self.leds2.setGeometry(QtCore.QRect(1130, 221, 16, 16))
self.leds2.setAutoFillBackground(True)
self.leds2.setFrameShape(QtWidgets.QFrame.Panel)
self.leds2.setText("")
self.leds2.setObjectName("leds2")
self.leds3 = QtWidgets.QLabel(self.centralwidget)
self.leds3.setGeometry(QtCore.QRect(1130, 259, 16, 16))
self.leds3.setAutoFillBackground(True)
self.leds3.setFrameShape(QtWidgets.QFrame.Panel)
self.leds3.setText("")
self.leds3.setObjectName("leds3")
self.leds4 = QtWidgets.QLabel(self.centralwidget)
self.leds4.setGeometry(QtCore.QRect(1130, 297, 16, 16))
self.leds4.setAutoFillBackground(True)
self.leds4.setFrameShape(QtWidgets.QFrame.Panel)
self.leds4.setText("")
self.leds4.setObjectName("leds4")
self.leds5 = QtWidgets.QLabel(self.centralwidget)
self.leds5.setGeometry(QtCore.QRect(1130, 336, 16, 16))
self.leds5.setAutoFillBackground(True)
self.leds5.setFrameShape(QtWidgets.QFrame.Panel)
self.leds5.setText("")
self.leds5.setObjectName("leds5")
self.leds6 = QtWidgets.QLabel(self.centralwidget)
self.leds6.setGeometry(QtCore.QRect(1130, 374, 16, 16))
self.leds6.setAutoFillBackground(True)
self.leds6.setFrameShape(QtWidgets.QFrame.Panel)
self.leds6.setText("")
self.leds6.setObjectName("leds6")
self.leds7 = QtWidgets.QLabel(self.centralwidget)
self.leds7.setGeometry(QtCore.QRect(1130, 412, 16, 16))
self.leds7.setAutoFillBackground(True)
self.leds7.setFrameShape(QtWidgets.QFrame.Panel)
self.leds7.setText("")
self.leds7.setObjectName("leds7")
self.leds8 = QtWidgets.QLabel(self.centralwidget)
self.leds8.setGeometry(QtCore.QRect(1130, 450, 16, 16))
self.leds8.setAutoFillBackground(True)
self.leds8.setFrameShape(QtWidgets.QFrame.Panel)
self.leds8.setText("")
self.leds8.setObjectName("leds8")
self.plotwidget = QtWidgets.QWidget(self.centralwidget)
self.plotwidget.setGeometry(QtCore.QRect(740, 190, 351, 251))
self.plotwidget.setObjectName("plotwidget")
self.lcdNumber_5 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_5.setGeometry(QtCore.QRect(540, 530, 81, 20))
font = QtGui.QFont()
font.setBold(False)
font.setWeight(50)
self.lcdNumber_5.setFont(font)
self.lcdNumber_5.setStyleSheet("QLCDNumber { color: black; }")
self.lcdNumber_5.setFrameShape(QtWidgets.QFrame.Box)
self.lcdNumber_5.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_5.setObjectName("lcdNumber_5")
self.lcdNumber_6 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_6.setGeometry(QtCore.QRect(700, 530, 81, 20))
self.lcdNumber_6.setSmallDecimalPoint(False)
self.lcdNumber_6.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_6.setObjectName("lcdNumber_6")
self.lcdNumber_9 = QtWidgets.QLCDNumber(self.centralwidget)
self.lcdNumber_9.setGeometry(QtCore.QRect(620, 530, 81, 20))
self.lcdNumber_9.setStyleSheet("color: rgb(0, 0, 0);")
self.lcdNumber_9.setSegmentStyle(QtWidgets.QLCDNumber.Flat)
self.lcdNumber_9.setObjectName("lcdNumber_9")
self.label_rgb_illumination = QtWidgets.QLabel(self.centralwidget)
self.label_rgb_illumination.setGeometry(QtCore.QRect(310, 460, 211, 41))
font = QtGui.QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)
self.label_rgb_illumination.setFont(font)
self.label_rgb_illumination.setObjectName("label_rgb_illumination")
self.label_x = QtWidgets.QLabel(self.centralwidget)
self.label_x.setGeometry(QtCore.QRect(570, 560, 47, 13))
self.label_x.setObjectName("label_x")
self.label_y = QtWidgets.QLabel(self.centralwidget)
self.label_y.setGeometry(QtCore.QRect(650, 560, 47, 13))
self.label_y.setObjectName("label_y")
self.label_z = QtWidgets.QLabel(self.centralwidget)
self.label_z.setGeometry(QtCore.QRect(730, 560, 47, 13))
self.label_z.setObjectName("label_z")
self.lubel_tumblers = QtWidgets.QLabel(self.centralwidget)
self.lubel_tumblers.setGeometry(QtCore.QRect(900, 70, 81, 20))
font = QtGui.QFont()
font.setFamily("Times New Roman")
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.lubel_tumblers.setFont(font)
self.lubel_tumblers.setObjectName("lubel_tumblers")
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(10, 60, 291, 531))
self.textEdit.setObjectName("textEdit")
self.pushButton_send_get = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_send_get.setGeometry(QtCore.QRect(1050, 50, 101, 21))
self.pushButton_send_get.setObjectName("pushButton_send_get")
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(690, 50, 341, 21))
self.lineEdit_2.setObjectName("lineEdit_2")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1185, 22))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "IoT pgrm v0_1_13"))
self.pushButton_send_post.setText(_translate("MainWindow", "SEND Post"))
self.label_url.setText(_translate("MainWindow", "URL"))
self.label_message.setText(_translate("MainWindow", "Body message"))
self.label_temp.setText(_translate("MainWindow", "Температура"))
self.lcdNumber_2.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
self.label_r.setText(_translate("MainWindow", "R"))
self.label_g.setText(_translate("MainWindow", "G"))
self.label_b.setText(_translate("MainWindow", "B"))
self.pushButton_sensor1.setText(_translate("MainWindow", "Вкл"))
self.pushButton_sensor2.setText(_translate("MainWindow", "Вкл"))
self.pushButton_sensor3.setText(_translate("MainWindow", "Вкл"))
self.label_pressure.setText(_translate("MainWindow", "Давление"))
self.label_illumination.setText(_translate("MainWindow", "Освещенность"))
self.label_illumination2.setText(_translate("MainWindow", "Освещенность"))
self.label_accelorometer.setText(_translate("MainWindow", "Акселлерометр"))
self.vkl_b.setText(_translate("MainWindow", "Вкл"))
self.vikl_b.setText(_translate("MainWindow", "Выкл"))
self.color_b.setText(_translate("MainWindow", "Цвет"))
self.lcdNumber_5.setToolTip(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>"))
self.label_rgb_illumination.setText(_translate("MainWindow", "Освещенность"))
self.label_x.setText(_translate("MainWindow", "Х"))
self.label_y.setText(_translate("MainWindow", "Y"))
self.label_z.setText(_translate("MainWindow", "Z"))
self.lubel_tumblers.setText(_translate("MainWindow", "Тумблеры"))
self.pushButton_send_get.setText(_translate("MainWindow", "SEND Get request"))
import Res_rc

View File

@ -1,49 +0,0 @@
label_6 = label_temp
label_13 = label_pressure
label_14 = label_illumination
label_15 = label_abient_light (label_illumination2)
label_16 = label_abient_light
label_34 = label_accelorometer
label_4 = lubel_tumblers
label = label_url
label_2 = label_message
label_7 = label_r
label_8 = label_g
label_9 = label_b
label_10 = label_x
label_11 = label_y
label_12 = label_z
label_24 = label_lamp_off1 (label_sensor_print)
label_27 = label_lamp_off2
label_31 = label_lamp_off3
label_20 = label_lamp_on1
label_26 = label_lamp_on2 (label_sensor_megalka2)
label_29 = label_lamp_on3
pushButton = pushButton_send_post
pushButton_5 = pushButton_send_get
pushButton_2 = pushButton_switch_lamp1(pushButton_sensor1)
pushButton_3 = pushButton_switch_lamp2
pushButton_4 = pushButton_switch_lamp3
lcdNumber = lcd_temp
lcdNumber_7 = lcd_lightness (lcd_illumination)
lcdNumber_8 = lcd_abient_light(lcd_illumination2)
lcdNumber_2 = lcd_red_light (lcd_rgb_r)
lcdNumber_3 = lcd_green_light(lcd_rgb_g)
lcdNumber_4 = lcd_blue_light(lcd_rgb_b)
lcdNumber_5 = lcd_acceleration_x (lcd_xyz_x)
lcdNumber_9 = lcd_acceleration_y (lcd_xyz_y)
lcdNumber_6 = lcd_acceleration_z (lcd_xyz_z)
vikl_b = pushButton_leds_off
vkl_b = pushButton_leds_on
color_b = pushButton_leds_color
lineEdit = lineEdit_URL
lineEdit_2 = lineEdit_request
textEdit = textEdit_message