some changes with tables
This commit is contained in:
parent
bdbaae9730
commit
04e589dd34
159
Main.py
159
Main.py
@ -1,5 +1,7 @@
|
||||
import os
|
||||
import sys
|
||||
import csv
|
||||
import time
|
||||
from PyQt6.QtCore import Qt
|
||||
from PyQt6.QtGui import QAction
|
||||
from PyQt6.QtWidgets import (QHBoxLayout,
|
||||
@ -27,6 +29,7 @@ from PyQt6.QtWidgets import (QHBoxLayout,
|
||||
QGridLayout,
|
||||
QMenu,
|
||||
QTableWidgetItem,
|
||||
QHeaderView,
|
||||
|
||||
)
|
||||
|
||||
@ -128,7 +131,12 @@ class StartWindow(AbstractWindow):
|
||||
self.parent.change_number()
|
||||
|
||||
def enter_name(self):
|
||||
# make folder
|
||||
self.parent.foldername = self.lineEdit.text()
|
||||
self.parent.folder = os.path.join(os.getcwd(), self.parent.foldername)
|
||||
if not os.path.exists(self.parent.folder):
|
||||
os.mkdir(self.parent.folder)
|
||||
|
||||
self.flow.setEnabled(True)
|
||||
self.main.setEnabled(True)
|
||||
self.lineEdit.setReadOnly(True)
|
||||
@ -136,6 +144,7 @@ class StartWindow(AbstractWindow):
|
||||
|
||||
class MainExperiment1Window(AbstractWindow):
|
||||
def __init__(self, parent):
|
||||
# TODO : clean code
|
||||
super().__init__()
|
||||
|
||||
self.setWindowTitle('Основной эксперимент')
|
||||
@ -143,44 +152,84 @@ class MainExperiment1Window(AbstractWindow):
|
||||
self.parent = parent
|
||||
|
||||
# make masthead
|
||||
self.dataname = 'data.txt'
|
||||
file = open(os(self.parent.foldername, self.dataname), 'w')
|
||||
file.write('I_0, mA U_34, mV t, s')
|
||||
file.close()
|
||||
self.dataname = 'data.csv'
|
||||
head_1 = 'I_0,mA'
|
||||
head_2 = 'U_34,mV'
|
||||
head_3 = 't,s'
|
||||
with open(os.path.join(self.parent.folder, self.dataname), 'w') as file:
|
||||
wr = csv.writer(file)
|
||||
wr.writerow([head_1, head_2, head_3])
|
||||
|
||||
|
||||
self.centralwidget = QWidget()
|
||||
self.resize(1400, 800)
|
||||
self.setCentralWidget(self.centralwidget)
|
||||
|
||||
self.but = QPushButton('Измерение')
|
||||
# self.but.clicked.connect(self.but_click)
|
||||
self.setCentralWidget(self.but)
|
||||
self.start = QPushButton('Старт')
|
||||
self.start.clicked.connect(self.start_clicked_nodata)
|
||||
self.start.setEnabled(False)
|
||||
|
||||
grid_layout = QGridLayout(self) # Create QGridLayout
|
||||
self.centralwidget.setLayout(grid_layout) # Set this layout in central widget
|
||||
self.stop = QPushButton('Стоп')
|
||||
self.stop.clicked.connect(self.stop_clicked)
|
||||
self.stop.setEnabled(False)
|
||||
|
||||
table = QTableWidget(self) # Create a table
|
||||
table.setColumnCount(3) #Set three columns
|
||||
table.setRowCount(1) # and one row
|
||||
grid_layout = QGridLayout(self.centralwidget)
|
||||
|
||||
# Set the table headers
|
||||
table.setHorizontalHeaderLabels(["Header 1", "Header 2", "Header 3"])
|
||||
self.table = QTableWidget(self) # Create a self.table
|
||||
self.table.setColumnCount(3) #Set three columns
|
||||
self.table.setRowCount(0)
|
||||
|
||||
#Set the tooltips to headings
|
||||
table.horizontalHeaderItem(0).setToolTip("Column 1 ")
|
||||
table.horizontalHeaderItem(1).setToolTip("Column 2 ")
|
||||
table.horizontalHeaderItem(2).setToolTip("Column 3 ")
|
||||
table.setItem(0, 0, QTableWidgetItem("Text in column 1"))
|
||||
table.setItem(0, 1, QTableWidgetItem("Text in column 2"))
|
||||
table.setItem(0, 2, QTableWidgetItem("Text in column 3"))
|
||||
self.table.setHorizontalHeaderLabels([head_1, head_2, head_3])
|
||||
|
||||
# Do the resize of the columns by content
|
||||
table.resizeColumnsToContents()
|
||||
header = self.table.horizontalHeader()
|
||||
header.setSectionResizeMode(0, QHeaderView.ResizeMode.Stretch)
|
||||
header.setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch)
|
||||
header.setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch)
|
||||
self.table.setItem(0, 0, QTableWidgetItem("Text in column 1"))
|
||||
self.table.setItem(0, 1, QTableWidgetItem("Text in column 2"))
|
||||
self.table.setItem(0, 2, QTableWidgetItem("Text in column 3"))
|
||||
self.table.resizeColumnsToContents()
|
||||
|
||||
grid_layout.addWidget(table, 0, 0) # Adding the table to the grid
|
||||
grid_layout.addWidget(self.but, 0, 3)
|
||||
|
||||
def but_click(self):
|
||||
self.lineEdit = QLineEdit(placeholderText='Введите что-то')
|
||||
self.lineEdit.returnPressed.connect(self.enter_smth)
|
||||
|
||||
grid_layout.addWidget(self.table, 0, 0, 2, 1) # Adding the table to the grid
|
||||
grid_layout.addWidget(self.lineEdit, 0, 2, -1, -1)
|
||||
grid_layout.addWidget(self.start, 1, 2)
|
||||
grid_layout.addWidget(self.stop, 1, 3)
|
||||
|
||||
|
||||
self.parent.draw()
|
||||
|
||||
def enter_smth(self):
|
||||
# TODO
|
||||
self.parent.smth = self.lineEdit.text()
|
||||
self.start.setEnabled(True)
|
||||
self.lineEdit.setReadOnly(True)
|
||||
|
||||
def start_clicked_nodata(self):
|
||||
# function to test writing data
|
||||
current_time = round(time.time()*1000)
|
||||
v = str(current_time/60)
|
||||
a=v
|
||||
t = str(current_time-self.start_time)
|
||||
with open(os.path.join(self.parent.folder, self.dataname), 'a') as file:
|
||||
wr = csv.writer(file)
|
||||
wr.writerow([v, a, str(current_time-self.start_time)])
|
||||
self.table.insertRow(self.table.rowCount())
|
||||
self.table.setItem(self.table.rowCount()-1, 0, QTableWidgetItem(v))
|
||||
self.table.setItem(self.table.rowCount()-1, 1, QTableWidgetItem(a))
|
||||
self.table.setItem(self.table.rowCount()-1, 2, QTableWidgetItem(t))
|
||||
|
||||
self.stop.setEnabled(True)
|
||||
|
||||
def stop_clicked(self):
|
||||
# TODO
|
||||
print('stop')
|
||||
self.stop.setEnabled(False)
|
||||
|
||||
def start_click(self):
|
||||
# measure voltage and current
|
||||
volt_name = os.path.join('/dev', 'usbtmc1')
|
||||
f_volt = open(volt_name, 'w')
|
||||
@ -199,34 +248,34 @@ class MainExperiment1Window(AbstractWindow):
|
||||
f_amp.close()
|
||||
current_time = round(time.time()*1000)
|
||||
s = v + a + str(current_time - self.start_time)
|
||||
out = open(os(self.parent.foldername, self.dataname), 'a')
|
||||
out.write(s)
|
||||
out.close()
|
||||
with open(os.path.join(self.parent.folder, self.dataname), 'a') as file:
|
||||
wr = csv.writer(file)
|
||||
wr.writerow([v, a, str(current_time-self.start_time)])
|
||||
|
||||
start = Start()
|
||||
|
||||
# start = Start()
|
||||
# del start
|
||||
|
||||
|
||||
import time
|
||||
import serial
|
||||
|
||||
ser=serial.Serial(
|
||||
port='/dev/ttyUSB0',
|
||||
baudrate=9600,
|
||||
timeout=1
|
||||
)
|
||||
ser.isOpen()
|
||||
|
||||
msg='SYSTem:REMote\n'
|
||||
ser.write(msg.encode('ascii'))
|
||||
|
||||
while 1:
|
||||
|
||||
msg='Read?\n'
|
||||
ser.write(msg.encode('ascii'))
|
||||
time.sleep(1)
|
||||
|
||||
bytesToRead=ser.inWaiting()
|
||||
data=ser.read(bytesToRead)
|
||||
print(data)
|
||||
# =============================================================================
|
||||
# import time
|
||||
# import serial
|
||||
#
|
||||
# ser=serial.Serial(
|
||||
# port='/dev/ttyUSB0',
|
||||
# baudrate=9600,
|
||||
# timeout=1
|
||||
# )
|
||||
# ser.isOpen()
|
||||
#
|
||||
# msg='SYSTem:REMote\n'
|
||||
# ser.write(msg.encode('ascii'))
|
||||
#
|
||||
# while 1:
|
||||
#
|
||||
# msg='Read?\n'
|
||||
# ser.write(msg.encode('ascii'))
|
||||
# time.sleep(1)
|
||||
#
|
||||
# bytesToRead=ser.inWaiting()
|
||||
# data=ser.read(bytesToRead)
|
||||
# print(data)
|
||||
#
|
||||
# =============================================================================
|
||||
|
Loading…
Reference in New Issue
Block a user