Programa en Python para la GUI - Proyecto en equipo - Prog Avan
Disculpen la mala calidad. Se adjunta el código para compensarlo (sin la ip, que se debe cambiar dependiendo el modem)
import tkinter as tk
import socket as sk
import time
class TeachPendant():
def __init__(self):
self._root = tk.Tk()
self._socket_ = sk.socket(sk.AF_INET, sk.SOCK_STREAM)
self._root.configure(bg='#ECEFF1')
# Commands
fn0 = lambda: self._socket_.send(bytes('200\n', 'utf-8'))
fn1 = lambda: self._socket_.send(bytes('201\n', 'utf-8'))
fn2 = lambda: self._socket_.send(bytes('202\n', 'utf-8'))
fn3 = lambda: self._socket_.send(bytes('203\n', 'utf-8'))
fn4 = lambda: self._socket_.send(bytes('204\n', 'utf-8'))
def fn5():
# Read the sensors
self._socket_.send(bytes('205\n', 'utf-8'))
time.sleep(0.5)
humidity = self._socket_.recv(5).decode('utf-8')
time.sleep(0.5)
temperature = self._socket_.recv(5).decode('utf-8')
time.sleep(0.5)
distance = self._socket_.recv(5).decode('utf-8')
# Print at the GUI
text = 'Temp: ' + temperature + '\nHumidity: ' + humidity + "\nDistance: " + distance
self._label.config(text=text)
def vel(int):
self._socket_.send(bytes(str(self._scroll.get()) + '\n', 'utf-8'))
time.sleep(0.1)
self._scroll = tk.Scale(self._root, orient="horizontal", from_=0, to=100, command=vel, font=('Arial', 14))
# Buttons
self._front = tk.Button(self._root, text='Forward', command=fn0, bg='#78909C', fg='white', font=('Arial', 16, 'bold'))
self._back = tk.Button(self._root, text='Backward', command=fn1, bg='#78909C', fg='white', font=('Arial', 16, 'bold'))
self._right = tk.Button(self._root, text='Right', command=fn2, bg="#78909C", fg='white', font=('Arial', 16, 'bold'))
self._left = tk.Button(self._root, text='Left', command=fn3, bg="#78909C", fg='white', font=('Arial', 16, 'bold'))
self._stop = tk.Button(self._root, text=' STOP ', bg='#B0BEC5', command=fn4, font=('Arial', 16))
self._sensor = tk.Button(self._root, text='Sensor', command=fn5, bg='#FF5252', fg='white', font=('Arial', 16, 'bold'))
self._speed_label = tk.Label(self._root, text='Speed:', font=('Arial', 14, 'bold'))
# Label/frame
self._frame = tk.LabelFrame(self._root, text='Robot Status', font=('Arial', 16, 'bold'), bg='#CFD8DC')
self._label = tk.Label(self._frame, text='temperature: 0.0 \n humidity: 0.0 \n distance: 0.0 ',
justify=tk.LEFT, font=('Arial', 12), bg='#CFD8DC')
def launch(self, ip, port):
# Wifi
self._socket_.connect((ip, port))
self._scroll.grid(column=0, row=7, sticky='we', padx=10, pady=10, columnspan=5)
self._left.grid(column=0,row=1)
self._front.grid(column=1,row=0)
self._stop.grid(column=1, row=1)
self._back.grid(column=1,row=2)
self._right.grid(column=2,row=1)
self._sensor.grid(column=4,row=3,columnspan=2, sticky='we')
self._speed_label.grid(column=1, row=5, sticky='ns')
self._frame.grid(column=4,row=0,columnspan=2,rowspan=3)
self._label.pack()
self._root.grid_columnconfigure(0, weight=1)
self._root.grid_columnconfigure(1, weight=1)
self._root.grid_columnconfigure(2, weight=1)
self._root.grid_columnconfigure(3, weight=2)
self._root.resizable(height=False, width=False)
self._root.mainloop()
if __name__ == '__main__':
pendant = TeachPendant()
pendant.launch('000.000.0.0', 80)
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Programa en Python para la GUI - Proyecto en equipo - Prog Avan», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.