Commit c52fd2bd authored by Pedro Henrique Kopper's avatar Pedro Henrique Kopper
Browse files

Initial commit

parents
.vscode
\ No newline at end of file
{
"python.pythonPath": "/home/phckopper/.local/share/virtualenvs/Processamento-UQ7p_2mK/bin/python"
}
\ No newline at end of file
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
pylint = "*"
[packages]
sacada-python = "*"
pyqtgraph = "*"
pyqt5 = "*"
[requires]
python_version = "3.8"
{
"_meta": {
"hash": {
"sha256": "4d98d61bc612199f672600842ca425adfe27aba6f7bd365e8849ac21be6923b8"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.8"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"click": {
"hashes": [
"sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
"sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
],
"version": "==7.0"
},
"numpy": {
"hashes": [
"sha256:1786a08236f2c92ae0e70423c45e1e62788ed33028f94ca99c4df03f5be6b3c6",
"sha256:17aa7a81fe7599a10f2b7d95856dc5cf84a4eefa45bc96123cbbc3ebc568994e",
"sha256:20b26aaa5b3da029942cdcce719b363dbe58696ad182aff0e5dcb1687ec946dc",
"sha256:2d75908ab3ced4223ccba595b48e538afa5ecc37405923d1fea6906d7c3a50bc",
"sha256:39d2c685af15d3ce682c99ce5925cc66efc824652e10990d2462dfe9b8918c6a",
"sha256:56bc8ded6fcd9adea90f65377438f9fea8c05fcf7c5ba766bef258d0da1554aa",
"sha256:590355aeade1a2eaba17617c19edccb7db8d78760175256e3cf94590a1a964f3",
"sha256:70a840a26f4e61defa7bdf811d7498a284ced303dfbc35acb7be12a39b2aa121",
"sha256:77c3bfe65d8560487052ad55c6998a04b654c2fbc36d546aef2b2e511e760971",
"sha256:9537eecf179f566fd1c160a2e912ca0b8e02d773af0a7a1120ad4f7507cd0d26",
"sha256:9acdf933c1fd263c513a2df3dceecea6f3ff4419d80bf238510976bf9bcb26cd",
"sha256:ae0975f42ab1f28364dcda3dde3cf6c1ddab3e1d4b2909da0cb0191fa9ca0480",
"sha256:b3af02ecc999c8003e538e60c89a2b37646b39b688d4e44d7373e11c2debabec",
"sha256:b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77",
"sha256:b765ed3930b92812aa698a455847141869ef755a87e099fddd4ccf9d81fffb57",
"sha256:c98c5ffd7d41611407a1103ae11c8b634ad6a43606eca3e2a5a269e5d6e8eb07",
"sha256:cf7eb6b1025d3e169989416b1adcd676624c2dbed9e3bcb7137f51bfc8cc2572",
"sha256:d92350c22b150c1cae7ebb0ee8b5670cc84848f6359cf6b5d8f86617098a9b73",
"sha256:e422c3152921cece8b6a2fb6b0b4d73b6579bd20ae075e7d15143e711f3ca2ca",
"sha256:e840f552a509e3380b0f0ec977e8124d0dc34dc0e68289ca28f4d7c1d0d79474",
"sha256:f3d0a94ad151870978fb93538e95411c83899c9dc63e6fb65542f769568ecfa5"
],
"version": "==1.18.1"
},
"pyqt5": {
"hashes": [
"sha256:2d94ec761fb656707050c68b41958e3a9f755bb1df96c064470f4096d2899e32",
"sha256:2f230f2dbd767099de7a0cb915abdf0cbc3256a0b5bb910eb09b99117db7a65b",
"sha256:31b142a868152d60c6323e0527edb692fdf05fd7cb4fe2fe9ce07d1ce560221a",
"sha256:713b9a201f5e7b2fca8691373e5d5c8c2552a51d87ca9ffbb1461e34e3241211",
"sha256:a0bfe9fd718bca4de3e33000347e048f73126b6dc46530eb020b0251a638ee9d"
],
"index": "pypi",
"version": "==5.14.1"
},
"pyqt5-sip": {
"hashes": [
"sha256:1115728644bbadcde5fc8a16e7918bd31915a42dd6fb36b10d4afb78c582753e",
"sha256:1f4289276d355b6521dc2cc956189315da6f13adfb6bbab8f25ebd15e3bce1d4",
"sha256:288c6dc18a8d6a20981c07b715b5695d9b66880778565f3792bc6e38f14f20fb",
"sha256:3f665376d9e52faa9855c3736a66ce6d825f85c86d7774d3c393f09da23f4f86",
"sha256:6b4860c4305980db509415d0af802f111d15f92016c9422eb753bc8883463456",
"sha256:7ffa39763097f64de129cf5cc770a651c3f65d2466b4fe05bef2bd2efbaa38e6",
"sha256:8a18e6f45d482ddfe381789979d09ee13aa6450caa3a0476503891bccb3ac709",
"sha256:8da842d3d7bf8931d1093105fb92702276b6dbb7e801abbaaa869405d616171a",
"sha256:b42021229424aa44e99b3b49520b799fd64ff6ae8b53f79f903bbd85719a28e4",
"sha256:b5b4906445fe980aee76f20400116b6904bf5f30d0767489c13370e42a764020",
"sha256:c1e730a9eb2ec3869ed5d81b0f99f6e2460fb4d77750444c0ec183b771d798f7",
"sha256:cbeeae6b45234a1654657f79943f8bccd3d14b4e7496746c62cf6fbce69442c7",
"sha256:d46b0f8effc554de52a1466b1bd80e5cb4bce635a75ac4e7ad6247c965dec5b9",
"sha256:e28c3abc9b62a1b7e796891648b9f14f8167b31c8e7990fae79654777252bb4d",
"sha256:e6078f5ee7d31c102910d0c277a110e1c2a20a3fc88cd017a39e170120586d3f",
"sha256:ee1a12f09d5af2304273bfd2f6b43835c1467d5ed501a6c95f5405637fa7750a",
"sha256:f314f31f5fd39b06897f013f425137e511d45967150eb4e424a363d8138521c6"
],
"version": "==12.7.1"
},
"pyqtgraph": {
"hashes": [
"sha256:4c08ab34881fae5ecf9ddfe6c1220b9e41e6d3eb1579a7d8ef501abb8e509251"
],
"index": "pypi",
"version": "==0.10.0"
},
"pyserial": {
"hashes": [
"sha256:6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627",
"sha256:e0770fadba80c31013896c7e6ef703f72e7834965954a78e71a3049488d4d7d8"
],
"version": "==3.4"
},
"sacada-python": {
"hashes": [
"sha256:44093858c73c1f00a9d6ba040104a7649ad1a8e029bb008562dacdf36970122a",
"sha256:d69d6980bbd0190c844bbed80f24b8836cc8c05abd5475e2f90b49b68e44cf6f"
],
"index": "pypi",
"version": "==0.0.7"
},
"scipy": {
"hashes": [
"sha256:00af72998a46c25bdb5824d2b729e7dabec0c765f9deb0b504f928591f5ff9d4",
"sha256:0902a620a381f101e184a958459b36d3ee50f5effd186db76e131cbefcbb96f7",
"sha256:1e3190466d669d658233e8a583b854f6386dd62d655539b77b3fa25bfb2abb70",
"sha256:2cce3f9847a1a51019e8c5b47620da93950e58ebc611f13e0d11f4980ca5fecb",
"sha256:3092857f36b690a321a662fe5496cb816a7f4eecd875e1d36793d92d3f884073",
"sha256:386086e2972ed2db17cebf88610aab7d7f6e2c0ca30042dc9a89cf18dcc363fa",
"sha256:71eb180f22c49066f25d6df16f8709f215723317cc951d99e54dc88020ea57be",
"sha256:770254a280d741dd3436919d47e35712fb081a6ff8bafc0f319382b954b77802",
"sha256:787cc50cab3020a865640aba3485e9fbd161d4d3b0d03a967df1a2881320512d",
"sha256:8a07760d5c7f3a92e440ad3aedcc98891e915ce857664282ae3c0220f3301eb6",
"sha256:8d3bc3993b8e4be7eade6dcc6fd59a412d96d3a33fa42b0fa45dc9e24495ede9",
"sha256:9508a7c628a165c2c835f2497837bf6ac80eb25291055f56c129df3c943cbaf8",
"sha256:a144811318853a23d32a07bc7fd5561ff0cac5da643d96ed94a4ffe967d89672",
"sha256:a1aae70d52d0b074d8121333bc807a485f9f1e6a69742010b33780df2e60cfe0",
"sha256:a2d6df9eb074af7f08866598e4ef068a2b310d98f87dc23bd1b90ec7bdcec802",
"sha256:bb517872058a1f087c4528e7429b4a44533a902644987e7b2fe35ecc223bc408",
"sha256:c5cac0c0387272ee0e789e94a570ac51deb01c796b37fb2aad1fb13f85e2f97d",
"sha256:cc971a82ea1170e677443108703a2ec9ff0f70752258d0e9f5433d00dda01f59",
"sha256:dba8306f6da99e37ea08c08fef6e274b5bf8567bb094d1dbe86a20e532aca088",
"sha256:dc60bb302f48acf6da8ca4444cfa17d52c63c5415302a9ee77b3b21618090521",
"sha256:dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59"
],
"version": "==1.4.1"
},
"thermocouples-reference": {
"hashes": [
"sha256:94dd18ce6d44e92fffafbb0caf4ed2452efbc31a763850ff439929717f0f4f84"
],
"version": "==0.20"
},
"tqdm": {
"hashes": [
"sha256:251ee8440dbda126b8dfa8a7c028eb3f13704898caaef7caa699b35e119301e2",
"sha256:fe231261cfcbc6f4a99165455f8f6b9ef4e1032a6e29bccf168b4bf42012f09c"
],
"version": "==4.42.1"
}
},
"develop": {
"astroid": {
"hashes": [
"sha256:71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a",
"sha256:840947ebfa8b58f318d42301cf8c0a20fd794a33b61cc4638e28e9e61ba32f42"
],
"version": "==2.3.3"
},
"isort": {
"hashes": [
"sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1",
"sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"
],
"version": "==4.3.21"
},
"lazy-object-proxy": {
"hashes": [
"sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d",
"sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449",
"sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08",
"sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a",
"sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50",
"sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd",
"sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239",
"sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb",
"sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea",
"sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e",
"sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156",
"sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142",
"sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442",
"sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62",
"sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db",
"sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531",
"sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383",
"sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a",
"sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357",
"sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4",
"sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"
],
"version": "==1.4.3"
},
"mccabe": {
"hashes": [
"sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42",
"sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"
],
"version": "==0.6.1"
},
"pylint": {
"hashes": [
"sha256:3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd",
"sha256:886e6afc935ea2590b462664b161ca9a5e40168ea99e5300935f6591ad467df4"
],
"index": "pypi",
"version": "==2.4.4"
},
"six": {
"hashes": [
"sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a",
"sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c"
],
"version": "==1.14.0"
},
"wrapt": {
"hashes": [
"sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"
],
"version": "==1.11.2"
}
}
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Classe Main (Principal) #
# Autores: Pedro Henrique Kopper (pedro.kopper@ufrgs.br) -> https://lief.if.ufrgs.br/~phckopper #
# Licença: GNU GPLv2 #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtCore import QTimer
from util.Graph import Graph
from ui.MainWindow import Ui_MainWindow
UPDATE_INTERVAL = 250 # milisegundos
class App(object):
def __init__(self):
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) #enable highdpi scaling
QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_UseHighDpiPixmaps, True) #use highdpi icons
self.app = QtWidgets.QApplication(sys.argv)
self.mainWindow = QtWidgets.QMainWindow()
self.dialog = QtWidgets.QDialog(self.mainWindow)
self.timer = QTimer(self.app)
self.running = False
self.elapsedTime = 0
self.ui = Ui_MainWindow()
self.ui.setupUi(self.mainWindow)
self.setupConnections()
self.pressurePlot = Graph(self.ui.pressaoGraph, "Pressão", "bar")
self.temperaturaPlot = Graph(self.ui.temperaturaGraph, "Temperatura", "ºC")
self.mainWindow.showMaximized()
def setupConnections(self):
self.ui.controlBtn.clicked.connect(self.startStop)
self.timer.timeout.connect(self.updateData)
def startStop(self):
if self.running:
self.timer.stop()
self.running = False
self.ui.controlBtn.setText("COMEÇAR")
else:
self.timer.start()
self.running = True
self.ui.controlBtn.setText("PARAR")
def updateData(self):
self.elapsedTime += UPDATE_INTERVAL * 0.001
if __name__ == '__main__':
app = App()
sys.exit(app.app.exec_())
\ No newline at end of file
# Software para processamento de materiais em altas pressões
Este software é uma reescrita da interface do SADAPMAP para uso nos processamentos, e não nas calibrações.
Ele visa ter um código mais limpo, porém menos genérico, e ser base para futuros desenvolvimentos no SADAPMAP.
A ideia é ter bases de código separadas para o SACADA e para o SADAPMAP, visto que seus objetivos muitas vezes conflitam e acabam
levando a soluções inadequadas pros problemas, vide a interface e seu código spaghetti.
# Instalação
Assim como o software original, este software também faz uso do pipenv, ferramenta padrão de ambientes virtuais do Python3. Ela pode ser encontrada no pacote `python3-pip` na maioria das distribuições. É importante frisar que este software suporta _apenas_ Python 3.
Ao clonar o repositório, basta rodar `pipenv install` para baixar e instalar as dependências automaticamente.
# Licença
Este programa é um software livre; você pode redistribuí-lo e/ou
modificá-lo sob os termos da Licença Pública Geral GNU como publicada
pela Free Software Foundation; na versão 3 da Licença, ou
(a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que possa ser útil,
mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO
a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a
Licença Pública Geral GNU para mais detalhes.
Uma cópia da licença (em inglês) está disponível no arquivo LICENSE.
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>961</width>
<height>583</height>
</rect>
</property>
<property name="windowTitle">
<string>SADAPMAP - Processamento</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<widget class="QWidget" name="centralwidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="1,2">
<item row="0" column="0">
<layout class="QVBoxLayout" name="esquerda" stretch="1,2">
<item>
<layout class="QVBoxLayout" name="botoes" stretch="2,1">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>../logo.jpg</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="controlBtn">
<property name="text">
<string>COMEÇAR</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QFormLayout" name="configuracoes">
<item row="0" column="0">
<widget class="QLabel" name="amostraLabel">
<property name="text">
<string>Amostra</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="amostraLineEdit"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="pressaoLabel">
<property name="text">
<string>Pressão</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="pressaoLineEdit"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="temperaturaLabel">
<property name="text">
<string>Temperatura</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="temperaturaLineEdit"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="gaxetaLabel">
<property name="text">
<string>Gaxeta</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="gaxetaLineEdit"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="configuracaoLabel">
<property name="text">
<string>Configuração</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="configuracaoLineEdit"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="observacoesLabel">
<property name="text">
<string>Observações</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPlainTextEdit" name="plainTextEdit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="0" column="1">
<layout class="QVBoxLayout" name="graficos" stretch="1,3,3">
<item>
<widget class="QLabel" name="infos">
<property name="font">
<font>
<family>Liberation Mono</family>
<pointsize>36</pointsize>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>1250ºC | 127 bar | 00:00:00</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="PlotWidget" name="pressaoGraph" native="true"/>
</item>
<item>
<widget class="PlotWidget" name="temperaturaGraph" native="true"/>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<customwidgets>
<customwidget>
<class>PlotWidget</class>
<extends>QWidget</extends>
<header>pyqtgraph</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'resources/ui/MainWindow.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(961, 583)
MainWindow.setStyleSheet("")
self.centralwidget = QtWidgets.QWidget(MainWindow)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
self.centralwidget.setSizePolicy(sizePolicy)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.esquerda = QtWidgets.QVBoxLayout()
self.esquerda.setObjectName("esquerda")
self.botoes = QtWidgets.QVBoxLayout()
self.botoes.setObjectName("botoes")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("resources/ui/../logo.jpg"))
self.label.setScaledContents(True)
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.botoes.addWidget(self.label)
self.controlBtn = QtWidgets.QPushButton(self.centralwidget)
self.controlBtn.setObjectName("controlBtn")
self.botoes.addWidget(self.controlBtn)
self.botoes.setStretch(0, 2)
self.botoes.setStretch(1, 1)
self.esquerda.addLayout(self.botoes)
self.configuracoes = QtWidgets.QFormLayout()
self.configuracoes.setObjectName("configuracoes")
self.amostraLabel = QtWidgets.QLabel(self.centralwidget)
self.amostraLabel.setObjectName("amostraLabel")
self.configuracoes.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.amostraLabel)
self.amostraLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.amostraLineEdit.setObjectName("amostraLineEdit")
self.configuracoes.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.amostraLineEdit)
self.pressaoLabel = QtWidgets.QLabel(self.centralwidget)
self.pressaoLabel.setObjectName("pressaoLabel")
self.configuracoes.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.pressaoLabel)
self.pressaoLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.pressaoLineEdit.setObjectName("pressaoLineEdit")
self.configuracoes.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.pressaoLineEdit)
self.temperaturaLabel = QtWidgets.QLabel(self.centralwidget)
self.temperaturaLabel.setObjectName("temperaturaLabel")
self.configuracoes.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.temperaturaLabel)
self.temperaturaLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.temperaturaLineEdit.setObjectName("temperaturaLineEdit")
self.configuracoes.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.temperaturaLineEdit)
self.gaxetaLabel = QtWidgets.QLabel(self.centralwidget)
self.gaxetaLabel.setObjectName("gaxetaLabel")
self.configuracoes.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.gaxetaLabel)
self.gaxetaLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.gaxetaLineEdit.setObjectName("gaxetaLineEdit")
self.configuracoes.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.gaxetaLineEdit)
self.configuracaoLabel = QtWidgets.QLabel(self.centralwidget)
self.configuracaoLabel.setObjectName("configuracaoLabel")
self.configuracoes.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.configuracaoLabel)
self.configuracaoLineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.configuracaoLineEdit.setObjectName("configuracaoLineEdit")
self.configuracoes.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.configuracaoLineEdit)
self.observacoesLabel = QtWidgets.QLabel(self.centralwidget)
self.observacoesLabel.setObjectName("observacoesLabel")
self.configuracoes.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.observacoesLabel)
self.plainTextEdit = QtWidgets.QPlainTextEdit(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.plainTextEdit.sizePolicy().hasHeightForWidth())
self.plainTextEdit.setSizePolicy(sizePolicy)
self.plainTextEdit.setObjectName("plainTextEdit")
self.configuracoes.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.plainTextEdit)
self.esquerda.addLayout(self.configuracoes)
self.esquerda.setStretch(0, 1)
self.esquerda.setStretch(1, 2)
self.gridLayout.addLayout(self.esquerda, 0, 0, 1, 1)
self.graficos = QtWidgets.QVBoxLayout()
self.graficos.setObjectName("graficos")
self.infos = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily("Liberation Mono")
font.setPointSize(36)
font.setBold(True)
font.setItalic(False)
font.setWeight(75)
self.infos.setFont(font)
self.infos.setAlignment(QtCore.Qt.AlignCenter)
self.infos.setWordWrap(True)
self.infos.setObjectName("infos")
self.graficos.addWidget(self.infos)
self.pressaoGraph = PlotWidget(self.centralwidget)
self.pressaoGraph.setObjectName("pressaoGraph")
self.graficos.addWidget(self.pressaoGraph)
self.temperaturaGraph = PlotWidget(self.centralwidget)
self.temperaturaGraph.setObjectName("temperaturaGraph")
self.graficos.addWidget(self.temperaturaGraph)