parent
87569a9628
commit
ae48a9ed30
Binary file not shown.
@ -0,0 +1,162 @@
|
|||||||
|
from tkinter import *
|
||||||
|
from tkinter import ttk
|
||||||
|
from tkinter import messagebox
|
||||||
|
from tkinter import filedialog
|
||||||
|
from PIL import ImageTk, Image
|
||||||
|
import sqlite3
|
||||||
|
import os
|
||||||
|
|
||||||
|
###########
|
||||||
|
#VARIBALES#
|
||||||
|
###########
|
||||||
|
colorBackgroundRoot="#06283D"
|
||||||
|
|
||||||
|
|
||||||
|
########
|
||||||
|
#WINDOW#
|
||||||
|
########
|
||||||
|
root = Tk()
|
||||||
|
root.title("Database Interface")
|
||||||
|
root.attributes('-type', 'dialog')#https://stackoverflow.com/questions/35830851/how-to-make-tkinter-window-floating-in-i3-windowmanager
|
||||||
|
root.geometry("1000x1000")
|
||||||
|
root.config(bg=colorBackgroundRoot)
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
#DEFINITIONS#
|
||||||
|
#############
|
||||||
|
def dbSubmit():
|
||||||
|
#Connect to database
|
||||||
|
db = sqlite3.connect('address_book.db')
|
||||||
|
#Create Cursor
|
||||||
|
c = db.cursor()
|
||||||
|
|
||||||
|
c.execute("INSERT INTO addresses VALUES (:firstName, :lastName, :address, :city, :state, :zipCode)",
|
||||||
|
{
|
||||||
|
'firstName' : firstName.get(),
|
||||||
|
'lastName' : lastName.get(),
|
||||||
|
'address' : address.get(),
|
||||||
|
'city' : city.get(),
|
||||||
|
'state' : state.get(),
|
||||||
|
'zipCode' : zipCode.get()
|
||||||
|
})
|
||||||
|
#Save chnages to the database
|
||||||
|
db.commit()
|
||||||
|
#Close Connection
|
||||||
|
db.close()
|
||||||
|
# Clear the text Boxes
|
||||||
|
firstName.delete(0,END)
|
||||||
|
lastName.delete(0,END)
|
||||||
|
address.delete(0,END)
|
||||||
|
city.delete(0,END)
|
||||||
|
state.delete(0,END)
|
||||||
|
zipCode.delete(0,END)
|
||||||
|
|
||||||
|
def dbQuery():
|
||||||
|
#Connect to database
|
||||||
|
db = sqlite3.connect('address_book.db')
|
||||||
|
#Create Cursor
|
||||||
|
c = db.cursor()
|
||||||
|
|
||||||
|
c.execute("SELECT *, oid FROM addresses")
|
||||||
|
records = c.fetchall();
|
||||||
|
print(records)
|
||||||
|
|
||||||
|
print_records=''
|
||||||
|
|
||||||
|
for record in records:
|
||||||
|
print_records += str(record) + '\n'
|
||||||
|
|
||||||
|
labelQuery = Label(root, text=print_records)
|
||||||
|
labelQuery.grid(row=8, column=0, columnspan=2)
|
||||||
|
#Save chnages to the database
|
||||||
|
db.commit()
|
||||||
|
#Close Connection
|
||||||
|
db.close()
|
||||||
|
|
||||||
|
#########
|
||||||
|
#DATBASE#
|
||||||
|
#########
|
||||||
|
|
||||||
|
#Create Table
|
||||||
|
'''
|
||||||
|
c.execute("""CREATE TABLE addresses (
|
||||||
|
first_name text,
|
||||||
|
last_name text,
|
||||||
|
address text,
|
||||||
|
city text,
|
||||||
|
state text,
|
||||||
|
zipcode integer
|
||||||
|
)
|
||||||
|
""")
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
#IMAGES & ICONS#
|
||||||
|
################
|
||||||
|
|
||||||
|
|
||||||
|
###########
|
||||||
|
#FUNCTIONS#
|
||||||
|
###########
|
||||||
|
|
||||||
|
|
||||||
|
########
|
||||||
|
#FRAMES#
|
||||||
|
########
|
||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
#WIDGETS#
|
||||||
|
#########
|
||||||
|
firstName = Entry(root,width=30)
|
||||||
|
lastName = Entry(root,width=30)
|
||||||
|
address = Entry(root,width=30)
|
||||||
|
city = Entry(root,width=30)
|
||||||
|
state = Entry(root,width=30)
|
||||||
|
zipCode = Entry(root,width=30)
|
||||||
|
|
||||||
|
firstNameLabel = Label(root,text="First Name: ")
|
||||||
|
lastNameLabel = Label(root,text="Last Name: ")
|
||||||
|
addressLabel = Label(root,text="Address: ")
|
||||||
|
cityLabel = Label(root,text="city: ")
|
||||||
|
stateLabel = Label(root,text="state: ")
|
||||||
|
zipCodeLabel = Label(root,text="Zip Code: ")
|
||||||
|
|
||||||
|
buttonSubmit = Button(root, text="add to db", command=dbSubmit)
|
||||||
|
buttonQuery = Button(root, text="request from db", command=dbQuery)
|
||||||
|
|
||||||
|
###########
|
||||||
|
#PLACEMENT#
|
||||||
|
###########
|
||||||
|
firstName.grid(row=0, column=1, padx=20)
|
||||||
|
firstNameLabel.grid(row=0, column=0)
|
||||||
|
|
||||||
|
lastName.grid(row=1, column=1, padx=20)
|
||||||
|
lastNameLabel.grid(row=1, column=0)
|
||||||
|
|
||||||
|
address.grid(row=2, column=1, padx=20)
|
||||||
|
addressLabel.grid(row=2, column=0)
|
||||||
|
|
||||||
|
city.grid(row=3, column=1, padx=20)
|
||||||
|
cityLabel.grid(row=3, column=0)
|
||||||
|
|
||||||
|
state.grid(row=4, column=1, padx=20)
|
||||||
|
stateLabel.grid(row=4, column=0)
|
||||||
|
|
||||||
|
zipCode.grid(row=5, column=1, padx=20)
|
||||||
|
zipCodeLabel.grid(row=5, column=0)
|
||||||
|
|
||||||
|
buttonSubmit.grid(row=6, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
|
||||||
|
buttonQuery.grid(row=7, column=0, columnspan=2, padx=10, pady=10, ipadx=100)
|
||||||
|
|
||||||
|
############
|
||||||
|
#DISPLAYING#
|
||||||
|
############
|
||||||
|
#Showing on the screen and aranging them
|
||||||
|
#Main Loop Equivalent of our main();
|
||||||
|
root.mainloop()
|
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1,63 @@
|
|||||||
|
from tkinter import *
|
||||||
|
from tkinter import ttk
|
||||||
|
|
||||||
|
#This is tha main window usulayy called Root
|
||||||
|
root = Tk()
|
||||||
|
root.title("simple Calculator")
|
||||||
|
|
||||||
|
numButtonSizeX=10
|
||||||
|
numButtonSizeY=10
|
||||||
|
calcScreenSize=50
|
||||||
|
buttonPerRow=3
|
||||||
|
paddingX=10
|
||||||
|
paddingY=10
|
||||||
|
buttonPaddingX=50
|
||||||
|
buttonPaddingY=20
|
||||||
|
boderSize=5
|
||||||
|
|
||||||
|
#FUNCTIONS It doenst matter if this is before the decalaritions(PYthon Thing).
|
||||||
|
def buttonClick(number):
|
||||||
|
screen.insert(0,number)
|
||||||
|
# Creating a widget label
|
||||||
|
#Labels
|
||||||
|
#Buttons
|
||||||
|
button1 = Button(root, text="1", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(1))
|
||||||
|
button2 = Button(root, text="2", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(2))
|
||||||
|
button3 = Button(root, text="3", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(3))
|
||||||
|
button4 = Button(root, text="4", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(4))
|
||||||
|
button5 = Button(root, text="5", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(5))
|
||||||
|
button6 = Button(root, text="6", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(6))
|
||||||
|
button7 = Button(root, text="7", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(7))
|
||||||
|
button8 = Button(root, text="8", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(8))
|
||||||
|
button9 = Button(root, text="9", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(9))
|
||||||
|
button0 = Button(root, text="0", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick(0))
|
||||||
|
buttonPlus = Button(root, text="+", padx=buttonPaddingX,pady=buttonPaddingY, command=lambda: buttonClick())
|
||||||
|
buttonClear = Button(root, text="Clear", padx=buttonPaddingX*2,pady=buttonPaddingY, command=lambda: buttonClick())
|
||||||
|
buttonEqual = Button(root, text="=", padx=buttonPaddingX*2,pady=buttonPaddingY, command=lambda: buttonClick())
|
||||||
|
|
||||||
|
#Entry
|
||||||
|
screen = Entry(root, width=calcScreenSize, borderwidth=boderSize)
|
||||||
|
screen.grid(row=0, column=0, columnspan=buttonPerRow, padx=paddingX, pady=paddingY)
|
||||||
|
|
||||||
|
#Showing on the screen and aranging them
|
||||||
|
button1.grid(row=1, column=0)
|
||||||
|
button2.grid(row=1, column=1)
|
||||||
|
button3.grid(row=1, column=2)
|
||||||
|
|
||||||
|
button4.grid(row=2, column=0)
|
||||||
|
button5.grid(row=2, column=1)
|
||||||
|
button6.grid(row=2, column=2)
|
||||||
|
|
||||||
|
button7.grid(row=3, column=0)
|
||||||
|
button8.grid(row=3, column=1)
|
||||||
|
button9.grid(row=3, column=2)
|
||||||
|
|
||||||
|
button0.grid(row=4, column=0)
|
||||||
|
buttonClear.grid(row=4, column=1, columnspan=2)
|
||||||
|
buttonPlus.grid(row=5, column=0)
|
||||||
|
buttonEqual.grid(row=5, column=1, columnspan=2)
|
||||||
|
|
||||||
|
#Main Loop Equivalent of our main();
|
||||||
|
root.mainloop()
|
||||||
|
|
||||||
|
|
@ -0,0 +1,130 @@
|
|||||||
|
from tkinter import *
|
||||||
|
from tkinter import ttk
|
||||||
|
from tkinter import messagebox
|
||||||
|
from tkinter import filedialog
|
||||||
|
from PIL import ImageTk, Image
|
||||||
|
import os
|
||||||
|
|
||||||
|
###########
|
||||||
|
#VARIBALES#
|
||||||
|
###########
|
||||||
|
colorBackgroundRoot="#06283D"
|
||||||
|
|
||||||
|
########
|
||||||
|
#WINDOW#
|
||||||
|
########
|
||||||
|
root = Tk()
|
||||||
|
root.title("Icons and images")
|
||||||
|
root.attributes('-type', 'dialog')#https://stackoverflow.com/questions/35830851/how-to-make-tkinter-window-floating-in-i3-windowmanager
|
||||||
|
root.geometry("1000x1000")
|
||||||
|
root.config(bg=colorBackgroundRoot)
|
||||||
|
im = Image.open('/home/key/Documents/tkinter/icons/rocket-64x64.png')
|
||||||
|
photo = ImageTk.PhotoImage(im)
|
||||||
|
root.wm_iconphoto(True, photo)
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
#DEFINITIONS#
|
||||||
|
#############
|
||||||
|
|
||||||
|
|
||||||
|
pizza = StringVar()
|
||||||
|
pizza.set(0)
|
||||||
|
|
||||||
|
RADIO = [
|
||||||
|
("Pepperoni","Pepperoni"),
|
||||||
|
("Cheese","Cheese"),
|
||||||
|
("Mushroom","Mushroom"),
|
||||||
|
("Onion","Onion"),
|
||||||
|
]
|
||||||
|
|
||||||
|
################
|
||||||
|
#IMAGES & ICONS#
|
||||||
|
################
|
||||||
|
global myImage
|
||||||
|
myImage = ImageTk.PhotoImage(Image.open("/home/key/Documents/tkinter/icons/rocket-64x64.png"))
|
||||||
|
|
||||||
|
###########
|
||||||
|
#FUNCTIONS#
|
||||||
|
###########
|
||||||
|
def myClick():
|
||||||
|
clicText = "Label 1 Entry is: " + myEntry.get()
|
||||||
|
myCLickLabel = Label(root, text=clicText)
|
||||||
|
myCLickLabel.grid(row=5, column=0)
|
||||||
|
|
||||||
|
def radioCLicked(selection):
|
||||||
|
radioSelection = Label(frameRadio,text=selection)
|
||||||
|
radioSelection.pack()
|
||||||
|
|
||||||
|
def popUpCLicked(): #showinfo, showwarning, showerror,askquestion,askokcancel, askyesno
|
||||||
|
response = messagebox.showinfo("This is my INFO popup", "FYI")
|
||||||
|
Label(framePopUp,text=response).pack()
|
||||||
|
|
||||||
|
def newWindowCLicked():
|
||||||
|
top = Toplevel()
|
||||||
|
image1 = Label(top, image=myImage)
|
||||||
|
top.title("The ROcket image")
|
||||||
|
image1.pack()
|
||||||
|
buttonKillNewWindow = Button(top, text="Quit Window", command=top.destroy)
|
||||||
|
buttonKillNewWindow.pack()
|
||||||
|
|
||||||
|
def openFileCLicked():
|
||||||
|
file = filedialog.askopenfile(initialdir="/home/key/Documents/tkinter/",title="Selec A file",filetypes=(("png files", "*.png"),("all Files","*.*")))
|
||||||
|
image1_name = Label(frameOpenFile, text=os.path.abspath(file.name)).pack()
|
||||||
|
myImage = ImageTk.PhotoImage(Image.open(os.path.abspath(file.name)))
|
||||||
|
myImageLabel = Label(frameOpenFile,image=myImage).pack()
|
||||||
|
|
||||||
|
|
||||||
|
########
|
||||||
|
#FRAMES#
|
||||||
|
########
|
||||||
|
frame = LabelFrame(root, text="Exit Frame", padx=50, pady=50)
|
||||||
|
frameRadio = LabelFrame(root, text="Radio Button Frame", padx=50, pady=50)
|
||||||
|
framePopUp = LabelFrame(root, text="Generate PopUp", padx=50, pady=50)
|
||||||
|
frameNewWindow = LabelFrame(root, text="Generate New Window", padx=50, pady=50)
|
||||||
|
frameOpenFile = LabelFrame(root, text="Open File", padx=50, pady=50)
|
||||||
|
|
||||||
|
#########
|
||||||
|
#WIDGETS#
|
||||||
|
#########
|
||||||
|
#Labels
|
||||||
|
label1 = Label(frame, text="Label")
|
||||||
|
|
||||||
|
|
||||||
|
#Buttons
|
||||||
|
buttonQuit = Button(frame, text="Exit", command=root.quit)
|
||||||
|
buttonPizza = Button(frameRadio, text="Get Ingedient", command=lambda: radioCLicked(pizza.get()))
|
||||||
|
buttonPopUp = Button(framePopUp, text="PopUp", command=lambda: popUpCLicked())
|
||||||
|
buttonNewWindow = Button(frameNewWindow, text="New Window", command=lambda: newWindowCLicked())
|
||||||
|
buttonOpenFile = Button(frameOpenFile, text="Open File", command=lambda: openFileCLicked())
|
||||||
|
|
||||||
|
for text, mode in RADIO:
|
||||||
|
Radiobutton(frameRadio, text=text, variable=pizza, value=mode).pack()
|
||||||
|
|
||||||
|
#Entry
|
||||||
|
|
||||||
|
###########
|
||||||
|
#PLACEMENT#
|
||||||
|
###########
|
||||||
|
frame.grid(row=0, column=0, padx=10, pady=10)
|
||||||
|
label1.grid(row=0, column=0)
|
||||||
|
buttonQuit.grid(row=1, column=0)
|
||||||
|
|
||||||
|
frameRadio.grid(row=0, column=1, padx=10, pady=10)
|
||||||
|
buttonPizza.pack()
|
||||||
|
|
||||||
|
framePopUp.grid(row=1, column=0, padx=10, pady=10)
|
||||||
|
buttonPopUp.pack()
|
||||||
|
|
||||||
|
frameNewWindow.grid(row=1, column=1, padx=10, pady=10)
|
||||||
|
buttonNewWindow.pack()
|
||||||
|
|
||||||
|
frameOpenFile.grid(row=1, column=2, padx=10, pady=10)
|
||||||
|
buttonOpenFile.pack()
|
||||||
|
############
|
||||||
|
#DISPLAYING#
|
||||||
|
############
|
||||||
|
|
||||||
|
#Showing on the screen and aranging them
|
||||||
|
#Main Loop Equivalent of our main();
|
||||||
|
root.mainloop()
|
@ -0,0 +1,44 @@
|
|||||||
|
from tkinter import *
|
||||||
|
from tkinter import ttk
|
||||||
|
|
||||||
|
#This is tha main window usulayy called Root
|
||||||
|
root = Tk()
|
||||||
|
root.title("simple Calculator")
|
||||||
|
|
||||||
|
numButtonSizeX=10;
|
||||||
|
numButtonSizeY=10;
|
||||||
|
calcScreenSize=50;
|
||||||
|
|
||||||
|
|
||||||
|
#FUNCTIONS It doenst matter if this is before the decalaritions(PYthon Thing).
|
||||||
|
def myClick():
|
||||||
|
clicText = "Label 1 Entry is: " + myEntry.get()
|
||||||
|
myCLickLabel = Label(root, text=clicText)
|
||||||
|
myCLickLabel.grid(row=5, column=0)
|
||||||
|
|
||||||
|
# Creating a widget label
|
||||||
|
#Labels
|
||||||
|
myLabel1 = Label(root, text="Label1")
|
||||||
|
myLabel2 = Label(root, text="Label2")
|
||||||
|
#Buttons
|
||||||
|
myButton1 = Button(root, text="do not press", state=DISABLED, padx=10,pady=10,fg="blue",bg="orange")
|
||||||
|
myButton2 = Button(root, text="do not press",command=myClick,fg="blue",bg="orange")
|
||||||
|
|
||||||
|
#Entry
|
||||||
|
myEntry = Entry(root, width=50)
|
||||||
|
myEntry.insert(0, "Isert Label one's Entry")
|
||||||
|
myEntry.grid(row=0, column=1)
|
||||||
|
|
||||||
|
#Showing on the screen and aranging them
|
||||||
|
myLabel1.grid(row=0, column=0)
|
||||||
|
myLabel2.grid(row=1, column=0)
|
||||||
|
myButton1.grid(row=3, column=0)
|
||||||
|
myButton2.grid(row=4, column=0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#Main Loop Equivalent of our main();
|
||||||
|
root.mainloop()
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
import mariadb
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Connect to MariaDB Platform
|
||||||
|
try:
|
||||||
|
conn = mariadb.connect(
|
||||||
|
user="root",
|
||||||
|
password="KyKvMdRt586591!*",
|
||||||
|
host="db.keydev.me",
|
||||||
|
port=3306,
|
||||||
|
database="minibase_projects"
|
||||||
|
)
|
||||||
|
except mariadb.Error as e:
|
||||||
|
print(f"Error connecting to MariaDB Platform: {e}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Get Cursor
|
||||||
|
cur = conn.cursor()
|
||||||
|
|
||||||
|
cur.execute("SELECT name, description FROM project")
|
||||||
|
|
||||||
|
print(cur)
|
||||||
|
|
||||||
|
for (name, description) in cur:
|
||||||
|
print(f"Name : {name}, What: {description}")
|
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
sudo apt install python3
|
||||||
|
sudo apt install python3-pip
|
||||||
|
sudo apt install libmariadb3 libmariadb-dev
|
||||||
|
|
||||||
|
pip3 install mariadb --break-system-packages
|
||||||
|
pip3 install pillow --break-system-packages
|
||||||
|
|
Loading…
Reference in new issue