#2 gna
Ano, přesně tuhle stranku jsem si pročital ale nevim jak to naimplementovat do svého kodů.
Příspěvky odeslané z IP adresy 78.45.85.–
Dobrý den,
potřeboval bych pomoct udělat lepši sort než mám, aby zvládl i více zaznamu v linked listu. Četl jsem o merge sortu, že by v linked sortu měl byt rychlejši ale neumím ho naimplementovat :(.
Děkuji za rady
void Sort(List& K){
ListItem* setrid = K.Head;
ListItem* p = setrid;
while(setrid != K.Tail || p->Next !=nullptr){
if(stoi(p->Value)<stoi(setrid->Value)){
swap(p->Value, setrid->Value);
p = setrid;
}
else{
if(p->Next==nullptr){
if(setrid != nullptr){
setrid = setrid->Next;
p = setrid;
}
}
else{
p = p->Next;
}
} }
}
Už to mám děkuju
from Tkinter import *
import Queue
import random
import threading
import serial
root = Tk()
canvas_width = 400
canvas_height = 400
image_list = [PhotoImage(file="zastinena%d.gif" % i) for i in range(8)]
label = Label(root, text="Stav senzoru")
label.pack(pady=10)
canvas = Canvas(root, width=canvas_width, height=canvas_height, bg="gray")
canvas.pack()
image_id = canvas.create_image(canvas_width / 2, canvas_height / 2)
queue = Queue.Queue()
def update_image():
while not queue.empty():
item = queue.get()
canvas.itemconfig(image_id, image=image_list[item])
root.after(100, update_image)
def zavolej():
while True:
port = serial.Serial("COM4",9600,timeout = 100)
port.write("1")
rx = port.readline()
port.close()
rx = int(rx)
print (rx)
item = (rx)
queue.put(item)
thread= threading.Thread(target=zavolej)
thread.daemon = True
thread.start()
print "ahoj"
update_image()
root.mainloop()
Děkuji za pomoc ale nechce mi to vyhazovat ted ty obrazky když jsem dal seriovou linku
from Tkinter import *
import Queue
import random
import threading
import time
import serial
root = Tk()
canvas_width = 400
canvas_height = 400
image_list = [PhotoImage(file="zastinena%d.gif" % i) for i in range(8)]
label = Label(root, text="Stav senzoru")
label.pack(pady=10)
canvas = Canvas(root, width=canvas_width, height=canvas_height, bg="gray")
canvas.pack()
image_id = canvas.create_image(canvas_width / 2, canvas_height / 2)
queue = Queue.Queue()
def update_image():
while not queue.empty():
item = queue.get()
canvas.itemconfig(image_id, image=image_list[item])
root.after(100, update_image)
def zavolej():
while True:
port = serial.Serial("COM4",9600,timeout = 100)
port.write("1")
rx = port.readline()
port.close()
rx = int(rx)
print (rx)
item = rx
queue.put(item)
zavolej()
update_image()
root.mainloop()
Dobrý den,
potřeboval bych poradit potřebuju doladit tenhle program aby vůbec fungoval jsem v pythonu uplny začatečník takže nevim pořadně co snim jde dělat. Ale potřebuju aby po posladni jedničky na seriovou linku ziskal hodnotu a tu porovnal a podle toho vykreslil obrazek jeden z 256. Protože na seriovou linku přijdou logicke vystupy z opickych senzoru a potřebuju prokazat jake jsou sepnute a jake ne :)
Děkuju za pomoc či vylepšení kodů
# -*- coding: cp1250 -*-
from Tkinter import *
import serial
import time
root = Tk()
root.wait_visibility(root) #zajistí, že je okno stále
root.attributes('-topmost',1) #viditelné
root.title("senzor polohy")
x = 400
y = 400
w = Label(root, text= "Stav senzoru")
w.pack(pady=10)
obr = Canvas(root, width=x, height=y, bg="gray")
obr.pack()
obr1 = PhotoImage(file="zastinena0.gif")
obr2 = PhotoImage(file="zastinena1.gif")
obr3 = PhotoImage(file="zastinena2.gif")
obr4 = PhotoImage(file="zastinena3.gif")
obr5 = PhotoImage(file="zastinena4.gif")
obr6 = PhotoImage(file="zastinena5.gif")
obr7 = PhotoImage(file="zastinena6.gif")
obr8 = PhotoImage(file="zastinena7.gif")
obr9 = PhotoImage(file="zastinena8.gif")
obr.create_image(x/2, y/2, image=obr1)
def nula():
obr.create_image(x/2, y/2, image=obr1)
def jeden():
obr.create_image(x/2, y/2, image=obr2)
def dva():
obr.create_image(x/2, y/2, image=obr3)
def tri():
obr.create_image(x/2, y/2, image=obr4)
def ctyri():
obr.create_image(x/2, y/2, image=obr5)
def pet():
obr.create_image(x/2, y/2, image=obr6)
def sest():
obr.create_image(x/2, y/2, image=obr7)
def sedm():
obr.create_image(x/2, y/2, image=obr8)
def osm():
obr.create_image(x/2, y/2, image=obr9)
while(True):
port = serial.Serial("COM4",9600,timeout = 120)
port.write("1")
rx = port.readline()
port.close()
print (rx)
if (rx==0):
nula()
elif (rx==1):
jedna()
elif (rx==2):
dva()
elif (rx==3):
tri()
elif (rx==4):
ctyri()
elif (rx==5):
pet()
elif (rx==6):
sest()
elif (rx==7):
sedm()
elif (rx==8):
osm()
print "help"
else:
root.mainloop()