Nature Timespiral: The Evolution of Earth from the Big Bang
This is one of the best graphical representation of the evolution of the universe and planet earth I have seen in a long time.
Tags
Nature Timespiral: The Evolution of Earth from the Big Bang
This is one of the best graphical representation of the evolution of the universe and planet earth I have seen in a long time.
Tags
VLC media Player
I am not sure if this is a bug. When opening an MP3 track in VLC, the colours for the album graphic appear to be incorrect.
The image on the left is correct and how it appears in the xfce4 file manger, the image on the right is how it appears in VLC media player.
It is almost as if vlc inverts the image colour scheme.
Tags
Add more functions
I have added a few more maths functions to the application and also provided a clear function. There are still a few items to add to help improve debugging but the application is starting to take shape.
Notes
window = Tk()
window.title('Maths Application')
window.geometry("570x150") # w x h
window.resizable(0,0)
The above code is being modified as I go. So I am changing the window size depending on what is being displayed.
I have also made the Window title reflect the purpose of the application.
That the source code now has 'result' as a label rather than output. This will show up future screenshots.
The code for the above is as follows.
#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *
window = Tk()
window.title('Maths Application')
window.geometry("570x150") # w x h
window.resizable(0,0)
#define button actions
def btn1():
#convert box text in to integers
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())
#add the 2 integers and store in variable add
add = (ent1 + ent2)
print (add)
#insert value of variable add in to box outtext
outtext1.insert(0,str(add)) # insert response
def btn2():
#print("subtraction")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())
#subtract the 2 integers and store in variable sub
sub = (ent1 - ent2)
#insert value of variable sub in to box outtext
outtext1.insert(0,str(sub)) # insert response
def btn3():
#print("multiply")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())
#multiply the 2 integers and store in variable mul
mul = (ent1 * ent2)
#insert value of variable mul in to box outtext
outtext1.insert(0,str(mul)) # insert response
def btn4():
#print("divide")
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())
#multiply the 2 integers and store in variable div
div = (ent1 / ent2)
#insert value of variable mul in to box outtext
outtext1.insert(0,str(div)) # insert response
#clear boxes
def clear():
#print("clear boxes") # leave in for legacy testing
entrytext.delete(0, END) # clear input box
entrytext2.delete(0, END) # clear input box2
outtext1.delete(0, END) # clear output box
btn_tog2 = Button( window, text ='+', command=btn1) # add
btn_tog3 = Button( window, text ='-', command=btn2) # subtract
btn_tog4 = Button( window, text ='x', command=btn3) #multiply
btn_tog5 = Button( window, text ='/', command=btn4) #divide
btn_tog6 = Button( window, text ='Clear', command=clear) #clear
btn_exit = Button( window, text ='Exit',command=exit) #exit
# define some labels
box1 = Label(window, text="1st Value")
box2 = Label(window, text="2nd Value")
box3 = Label(window, text="Result")
#define entry box
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box
#define out box
entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box
#display boxes
entrytext.grid(row = 3, column = 2,) #display entry box
entrytext2.grid(row = 3, column = 3,) #display entry box
outtext1.grid(row = 3, column = 4,) #display output box
#place labels
box1.grid(row = 1 , column = 2, padx = 5, pady = 5)
box2.grid(row = 1 , column = 3, padx = 5, pady = 5)
box3.grid(row = 1 , column = 4, padx = 5, pady = 5)
#buttons
btn_tog2.grid(row = 4, column = 2, padx = 1, pady = 1) # addition button
btn_tog3.grid(row = 4, column = 3, padx = 1, pady = 1) # subtraction button
btn_tog4.grid(row = 5, column = 2, padx = 1, pady = 1) # multiply button
btn_tog5.grid(row = 5, column = 3, padx = 1, pady = 1) # divide button
btn_tog6.grid(row = 4, column = 6, padx = 1, pady = 1) # clear button
btn_exit.grid(row = 3, column = 6, padx = 1, pady = 1) # exit button
window.mainloop()
The code that I used for a previous application to detect if numerical values have been used is below but provided 'as is' for now.
def response():
msg = "error : must be a text value"
i = circletext.get()
y = i.isdigit()
l = len(circletext.get())
#print l
if y == True or l == 0:
circletext.insert(0,(msg))
else:
x = random.choice(RESPONSES)
circletext2.delete(0, END) # clear prev output
circletext2.insert(0,str(x)) # insert response
I will integrate a version of this in to the main code.
#python, #tkinter, #programming, #python, #graphic, #applications, #bugs, #troubleshooting, #howto, #paignton, #library, #virtual, #codeclub
Happy to provide help and support via decentralised social media. I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.
Addition Application
So following on from the previous posts, I am how sharing a small application, that makes use of what we have been learning.
This presents 2 input boxes and an output box, any values entered in to the first two, the sum is placed in to the last box.
This is not perfect, but getting there slowly.
We need to:-
The code for the above is as follows.
#!/usr/bin/env python
import Tkinter # note use of caps
from Tkinter import *
window = Tk()
window.title('App 1')
window.geometry("650x125") # w x h
window.resizable(0,0)
#define button actions
def btn1():
#convert box text in to integers
ent1 = int(entrytext.get())
ent2 = int(entrytext2.get())
#add the 2 integers and store in variable add
add = (ent1 + ent2)
print add
#instert value add in to box outtext
outtext1.insert(0,str(add)) # insert response
btn_tog2 = Button( window, text ='button1', command=btn1)
btn_exit = Button( window, text ='exit',command=exit)
# define some labels
box1 = Label(window, text="Entry 1: ")
box2 = Label(window, text="Entry 2: ")
box3 = Label(window, text="Ouput1: ")
#define entry box
entry1 = StringVar() # this is our entry box
entry2 = StringVar()
entrytext = Entry(window, textvariable=entry1) # this is our entry box
entrytext2 = Entry(window, textvariable=entry2) # this is our second entry box
#define out box
entry2 = StringVar() # this is our output box
outtext1 = Entry(window, textvariable=entry2) # this is our output box
#display boxes
entrytext.grid(row = 3, column = 2,) #display entry box
entrytext2.grid(row = 3, column = 3,) #display entry box
outtext1.grid(row = 3, column = 4,) #display output box
#place labels
box1.grid(row = 1 , column = 2, padx = 5, pady = 5)
box2.grid(row = 1 , column = 3, padx = 5, pady = 5)
box3.grid(row = 1 , column = 4, padx = 5, pady = 5)
#buttons
btn_tog2.grid(row = 3, column = 5, padx = 5, pady = 5)
btn_exit.grid(row = 3, column = 6, padx = 5, pady = 5)
window.mainloop()
#python, #tkinter, #programming, #python, #graphic, #applications, #bugs, #troubleshooting, #howto, #paignton, #library, #virtual, #codeclub
Happy to provide help and support via decentralised social media. I can be contacted on Mastodon here. You can get a free account on the http://qoto.org instance by following this link.