diff --git a/PythonTkinterTutorial/Tkinter.pptx b/PythonTkinterTutorial/Tkinter.pptx new file mode 100644 index 0000000..8fce066 Binary files /dev/null and b/PythonTkinterTutorial/Tkinter.pptx differ diff --git a/PythonTkinterTutorial/Tutor0.py b/PythonTkinterTutorial/Tutor0.py new file mode 100644 index 0000000..cb26f8b --- /dev/null +++ b/PythonTkinterTutorial/Tutor0.py @@ -0,0 +1,6 @@ +# !/usr/bin/python3 +from tkinter import * +#creating the application main window. +top = Tk() +#Entering the event main loop +top.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor1.py b/PythonTkinterTutorial/Tutor1.py new file mode 100644 index 0000000..622a149 --- /dev/null +++ b/PythonTkinterTutorial/Tutor1.py @@ -0,0 +1,9 @@ +from tkinter import * +def printer(event): + print("Hello World!") +root = Tk() +but = Button(root) +but["text"] = "Печать" +but.bind("", printer) +but.pack() +root.mainloop() diff --git a/PythonTkinterTutorial/Tutor10.py b/PythonTkinterTutorial/Tutor10.py new file mode 100644 index 0000000..070b711 --- /dev/null +++ b/PythonTkinterTutorial/Tutor10.py @@ -0,0 +1,37 @@ +from tkinter import * +from tkinter import ttk +master = Tk() +master.geometry("400x400") +def hello(): + print("hello!") +menubar = Menu(master) +menubar.add_command(label="Hello!", command=hello) +menubar.add_command(label="Quit!", command=master.quit) +master.config(menu=menubar) + +nname="иван" +ppassword="дубков" + +def get_value(): + e_text1=entry1.get() + e_text2=entry2.get() + if(e_text1==nname)and(e_text2==ppassword): + openNewWindow() + +def openNewWindow(): + newWindow = Toplevel(master) + newWindow.title("New Window") + newWindow.geometry("200x200") + Label(newWindow, + text="password correct").pack() + +name = Label(master,text = "Name").grid(row = 0, column = 0) +entry1= ttk.Entry(master) +entry1.grid(row = 0, column = 1) +password = Label(master,text = "Password").grid(row = 1, column = 0) +entry2= ttk.Entry(master) +entry2.grid(row = 1, column = 1) +submit = Button(master, text = "Submit", command= get_value).grid(row = 4, column = 0) +label = Label(master,text="Введите пароль").grid(row = 5, column = 0) + +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor11.py b/PythonTkinterTutorial/Tutor11.py new file mode 100644 index 0000000..831b9e7 --- /dev/null +++ b/PythonTkinterTutorial/Tutor11.py @@ -0,0 +1,66 @@ +from tkinter import * +from tkinter import ttk +master = Tk() +master.geometry("400x250") + +menubar = Menu(master) +file = Menu(menubar, tearoff=0) +file.add_command(label="New") +file.add_command(label="Open") +file.add_command(label="Save") +file.add_command(label="Save as...") +file.add_command(label="Close") +file.add_separator() +file.add_command(label="Exit", command=master.quit) + +menubar.add_cascade(label="File", menu=file) +edit = Menu(menubar, tearoff=0) +edit.add_command(label="Undo") +edit.add_separator() +edit.add_command(label="Cut") +edit.add_command(label="Copy") +edit.add_command(label="Paste") +edit.add_command(label="Delete") +edit.add_command(label="Select All") + +menubar.add_cascade(label="Edit", menu=edit) +help = Menu(menubar, tearoff=0) +help.add_command(label="About") +menubar.add_cascade(label="Help", menu=help) + +master.config(menu=menubar) + +nname="иван" +ppassword="дубков" + +def get_value(): + e_text1=entry1.get() + e_text2=entry2.get() + if(e_text1==nname)and(e_text2==ppassword): + openNewWindow() + +def openNewWindow(): + # Toplevel object which will + # be treated as a new window + newWindow = Toplevel(master) + # sets the title of the + # Toplevel widget + newWindow.title("New Window") + # sets the geometry of toplevel + newWindow.geometry("200x200") + # A Label widget to show in toplevel + Label(newWindow, + text="password correct").pack() + +name = Label(master,text = "Name").grid(row = 0, column = 0) +entry1= ttk.Entry(master) +entry1.grid(row = 0, column = 1) +password = Label(master,text = "Password").grid(row = 1, column = 0) +entry2= ttk.Entry(master) +entry2.grid(row = 1, column = 1) + +submit = Button(master, text = "Submit", command= get_value).grid(row = 4, column = 0) + +label = Label(master,text="Введите пароль").grid(row = 5, column = 0) + +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor12.py b/PythonTkinterTutorial/Tutor12.py new file mode 100644 index 0000000..15d1447 --- /dev/null +++ b/PythonTkinterTutorial/Tutor12.py @@ -0,0 +1,24 @@ +from tkinter import * +def selection(): + selection = "You selected the option " + str(radio.get()) + label.config(text=selection) + +top = Tk() +top.geometry("600x450") +radio = IntVar() +lbl = Label(text="Favourite programming language:") +lbl.pack() +R1 = Radiobutton(top, text="C", variable=radio, value=1, + command=selection) +R1.pack(anchor=W) +R2 = Radiobutton(top, text="C++", variable=radio, value=2, + command=selection) +R2.pack(anchor=W) +R3 = Radiobutton(top, text="Java", variable=radio, value=3, + command=selection) +R3.pack(anchor=W) +label = Label(top) +label.pack() +spin = Spinbox(top, from_= 0, to = 25) +spin.pack() +top.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor13.py b/PythonTkinterTutorial/Tutor13.py new file mode 100644 index 0000000..db85d8d --- /dev/null +++ b/PythonTkinterTutorial/Tutor13.py @@ -0,0 +1,17 @@ +from tkinter import * +root = Tk() +c = Canvas(root, width=600, height=600, bg='white') +c.pack() +c.create_line(10, 10, 190, 50) +c.create_line(100, 180, 100, 60, fill='green', + width=5, arrow=LAST, dash=(10, 2), + activefill='lightgreen', + arrowshape="10 20 10") +c.create_rectangle(110, 110, 290, 160) +c.create_rectangle(160, 180, 240, 290, + fill='yellow', + outline='green', + width=3, + activedash=(5, 4)) + +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor16.py b/PythonTkinterTutorial/Tutor16.py new file mode 100644 index 0000000..837ea7f --- /dev/null +++ b/PythonTkinterTutorial/Tutor16.py @@ -0,0 +1,15 @@ +from tkinter import * + +root = Tk() +c = Canvas(width=200, height=200, + bg='white') +c.pack() + +rect = c.create_rectangle( + 80, 80, 120, 120, fill='lightgreen') +def in_focus(event): + c.itemconfig(rect, fill='green', width=2) + c.coords(rect, 70, 70, 130, 130) +c.bind('', in_focus) + +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor17.py b/PythonTkinterTutorial/Tutor17.py new file mode 100644 index 0000000..452fd6c --- /dev/null +++ b/PythonTkinterTutorial/Tutor17.py @@ -0,0 +1,13 @@ +#Tags +from tkinter import * +def color(event): + c.itemconfig('group1', width=3, + fill="red") +root = Tk() +c = Canvas(width=460, height=150, + bg='white') +c.pack() +oval = c.create_oval(30, 10, 130, 80, tag="group1") +c.create_line(10, 100, 450, 100, tag="group1") +c.bind('', color) +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor18.py b/PythonTkinterTutorial/Tutor18.py new file mode 100644 index 0000000..dbfd93d --- /dev/null +++ b/PythonTkinterTutorial/Tutor18.py @@ -0,0 +1,34 @@ +from tkinter import * + + +def oval_func(event): + c.delete(oval) + c.create_text(80, 50, + text="Круг") + +def rect_func(event): + c.delete("rect") + c.create_text(230, 50, + text="Прямоугольник") + +def triangle(event): + c.delete(trian) + c.create_text(380, 50, + text="Треугольник") + +c = Canvas(width=460, height=100, + bg='grey80') +c.pack() +oval = c.create_oval(30, 10, 130, 80, + fill="orange") +c.create_rectangle(180, 10, 280, 80, + tag="rect", + fill="lightgreen") +trian = c.create_polygon( + 330, 80, 380, 10, 430, 80, + fill='white', outline="black") +c.tag_bind(oval, '', oval_func) +c.tag_bind("rect", '', rect_func) +c.tag_bind(trian, '', triangle) + +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor185.py b/PythonTkinterTutorial/Tutor185.py new file mode 100644 index 0000000..a7f03e0 --- /dev/null +++ b/PythonTkinterTutorial/Tutor185.py @@ -0,0 +1,19 @@ +from tkinter import * + +def rect_func(event): + c.delete("rect") + c.create_text(230, 50, + text="Прямоугольник") + +c = Canvas(width=460, height=100, + bg='grey80') +c.pack() +c.create_rectangle(180, 10, 280, 80, + tag="rect", + fill="lightgreen") +trian = c.create_polygon( + 330, 80, 380, 10, 430, 80, + fill='white', outline="black",tag="rect") +c.tag_bind("rect", '', rect_func) + +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor19.py b/PythonTkinterTutorial/Tutor19.py new file mode 100644 index 0000000..7c9f56f --- /dev/null +++ b/PythonTkinterTutorial/Tutor19.py @@ -0,0 +1,26 @@ +#Animations +from random import * + +from tkinter import * + +def motion(): + c.move(ball, 1, 0) + if c.coords(ball)[2] <300: + root.after(10, motion) +def recolor(event): + color="#" + for i in range(6): + ranc1=choice("ABCDEF1234567890") + color+=ranc1 + c.itemconfig(ball, + fill=color) + +root = Tk() +c = Canvas(root, width=600, height=200, + bg="white") +c.pack() +ball = c.create_oval(0, 100, 40, 140, + fill='green') +c.tag_bind(ball, '', recolor) +motion() +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor2.py b/PythonTkinterTutorial/Tutor2.py new file mode 100644 index 0000000..ecf1e8a --- /dev/null +++ b/PythonTkinterTutorial/Tutor2.py @@ -0,0 +1,18 @@ +from tkinter import * +parent1 = Tk() +parent1.geometry("200x100") +def printer(event): + print("Hello World!") +redbutton = Button(parent1, text= "Red", fg = "red") +redbutton.pack( side = LEFT) +greenbutton = Button(parent1, text = "Green", fg = "green") +greenbutton.pack( side = RIGHT ) +bluebutton = Button(parent1, text = "Blue", fg = "blue") +bluebutton.pack( side = TOP ) +blackbutton = Button(parent1, text = "Black", fg = "black") +blackbutton.pack( side = BOTTOM) + +blackbutton.bind("", printer) +bluebutton.bind("", printer) + +parent1.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor3.py b/PythonTkinterTutorial/Tutor3.py new file mode 100644 index 0000000..c636f86 --- /dev/null +++ b/PythonTkinterTutorial/Tutor3.py @@ -0,0 +1,9 @@ +from tkinter import * +parent = Tk() +parent.geometry("400x250") +name = Label(parent,text = "Name").grid(row = 0, column = 0) +e1 = Entry(parent).grid(row = 0, column = 1) +password = Label(parent,text = "Password").grid(row = 1, column = 0) +e2 = Entry(parent).grid(row = 1, column = 1) +submit = Button(parent, text = "Submit").grid(row = 4, column = 0) +parent.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor4.py b/PythonTkinterTutorial/Tutor4.py new file mode 100644 index 0000000..8d1f126 --- /dev/null +++ b/PythonTkinterTutorial/Tutor4.py @@ -0,0 +1,22 @@ +from tkinter import * +from tkinter.ttk import * +master = Tk() +master.geometry("200x200") +# function to open a new window +# on a button click +def openNewWindow(): + newWindow = Toplevel(master) + newWindow.title("New Window") + newWindow.geometry("200x200") + Label(newWindow, + text="This is a new window").pack() + +label = Label(master, + text="This is the main window") +label.pack(pady=10) +# a button widget which will open a new window on button click +btn = Button(master, + text="Click to open a new window", + command=openNewWindow) +btn.pack(pady=10) +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor5.py b/PythonTkinterTutorial/Tutor5.py new file mode 100644 index 0000000..ef11cac --- /dev/null +++ b/PythonTkinterTutorial/Tutor5.py @@ -0,0 +1,16 @@ +from tkinter import * +from tkinter import ttk +def get_value(): + e_text=entry.get() + Label(win, text=e_text, font= ('Century 15 bold')).pack(pady=20) + +win= Tk() +win.geometry("750x250") +#Create an Entry Widget +entry= ttk.Entry(win,font=('Century 12'),width=40) +entry.pack(pady= 30) +#Create a button to display the text of entry widget +button= ttk.Button(win, text="Enter", command= get_value) +button.pack() + +win.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor6.py b/PythonTkinterTutorial/Tutor6.py new file mode 100644 index 0000000..db507c5 --- /dev/null +++ b/PythonTkinterTutorial/Tutor6.py @@ -0,0 +1,46 @@ +from tkinter import * +from tkinter import ttk +master = Tk() +master.geometry("400x400") + +nname="иван" +ppassword="дубков" + +def get_value(): + e_text1=entry1.get() + e_text2=entry2.get() + if(e_text1==nname)and(e_text2==ppassword): + openNewWindow() + else: + sayurwrong() + +def sayurwrong(): + falselabel=Label(master, + text="password incorrect") + falselabel.grid(row = 6, column = 1) + +def openNewWindow(): + # Toplevel object which will + # be treated as a new window + newWindow = Toplevel(master) + # sets the title of the + # Toplevel widget + newWindow.title("New Window") + # sets the geometry of toplevel + newWindow.geometry("200x200") + # A Label widget to show in toplevel + Label(newWindow, + text="password correct").pack() + +name = Label(master,text = "Name").grid(row = 0, column = 0) +entry1= ttk.Entry(master) +entry1.grid(row = 0, column = 1) +password = Label(master,text = "Password").grid(row = 1, column = 0) +entry2= ttk.Entry(master) +entry2.grid(row = 1, column = 1) + +submit = Button(master, text = "Submit", command= get_value).grid(row = 4, column = 0) + +label = Label(master,text="Введите пароль").grid(row = 5, column = 0) + +mainloop() diff --git a/PythonTkinterTutorial/Tutor8.py b/PythonTkinterTutorial/Tutor8.py new file mode 100644 index 0000000..70fce5f --- /dev/null +++ b/PythonTkinterTutorial/Tutor8.py @@ -0,0 +1,11 @@ +from tkinter import * +top = Tk() +top.geometry("200x250") +menubutton = Menubutton(top, text="Language") +menubutton.grid() +menubutton.menu = Menu(menubutton) +menubutton["menu"] = menubutton.menu +menubutton.menu.add_checkbutton(label="Russian") +menubutton.menu.add_checkbutton(label="English") +menubutton.pack() +top.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/Tutor9.py b/PythonTkinterTutorial/Tutor9.py new file mode 100644 index 0000000..0808a71 --- /dev/null +++ b/PythonTkinterTutorial/Tutor9.py @@ -0,0 +1,11 @@ +from tkinter import * +top = Tk() +def hello(): + print("hello!") +# create a toplevel menu +menubar = Menu(top) +menubar.add_command(label="Hello!", command=hello) +menubar.add_command(label="Quit!", command=top.quit) +# display the menu +top.config(menu=menubar) +top.mainloop() diff --git a/PythonTkinterTutorial/calculator.py b/PythonTkinterTutorial/calculator.py new file mode 100644 index 0000000..c14ace3 --- /dev/null +++ b/PythonTkinterTutorial/calculator.py @@ -0,0 +1,55 @@ +from tkinter import * +from tkinter import ttk +def operation(): + + a = int(e1.get()) + b = int(e2.get()) + if bottom["text"] =="+": + leftdata = str(a + b) + if bottom["text"]=="-": + leftdata = str(a - b) + print("hi") + if bottom["text"]=="*": + leftdata = str(a * b) + if bottom["text"]=="/": + leftdata = str(a / b) + + left["text"]="" + left.insert(1, leftdata) +def selection(): + selection = "You selected the option " + str(radio.get()) + label.config(text=selection) + +operationname="+" +def choseaddition(): + bottom.config(text="+") +def chosesubtraction(): + bottom.config(text="-") +def chosemultiplication(): + bottom.config(text="*") +def chosedivision(): + bottom.config(text="/") + +root=Tk() +root.geometry("400x250") +file = Menu(root) +file.add_command(label="+",command=choseaddition) +file.add_command(label="-",command=chosesubtraction) +file.add_command(label="*",command=chosemultiplication) +file.add_command(label="/",command=chosedivision) +root.config(menu=file) +w1 = PanedWindow(root) +w1.pack( ) +left = Entry(w1, bd=5) +w1.add(left) +w2 = PanedWindow(w1, orient=VERTICAL) +w1.add(w2) +e1 = Entry(w2) +e2 = Entry(w2) +w2.add(e1) +w2.add(e2) +bottom = Button(w2,text="+", command=operation) +w2.add(bottom) + +radio = IntVar() +mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/dontdo1.py b/PythonTkinterTutorial/dontdo1.py new file mode 100644 index 0000000..e28ad02 --- /dev/null +++ b/PythonTkinterTutorial/dontdo1.py @@ -0,0 +1,22 @@ +import tkinter as tk +from functools import partial +def call_result(label_result, n1, n2): + num1 = (n1.get()) + num2 = (n2.get()) + result = int(num1) + int(num2) + label_result.config(text="Result = %d" % result) + return +root = tk.Tk() +root.geometry('400x200+100+200') +root.title('Calculator') +number1 = tk.StringVar() +number2 = tk.StringVar() +labelNum1 = tk.Label(root, text="A").grid(row=1, column=0) +labelNum2 = tk.Label(root, text="B").grid(row=2, column=0) +labelResult = tk.Label(root) +labelResult.grid(row=7, column=2) +entryNum1 = tk.Entry(root, textvariable=number1).grid(row=1, column=2) +entryNum2 = tk.Entry(root, textvariable=number2).grid(row=2, column=2) +call_result = partial(call_result, labelResult, number1, number2) +buttonCal = tk.Button(root, text="Calculate", command=call_result).grid(row=3, column=0) +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/dontdo2.py b/PythonTkinterTutorial/dontdo2.py new file mode 100644 index 0000000..4164e6d --- /dev/null +++ b/PythonTkinterTutorial/dontdo2.py @@ -0,0 +1,20 @@ +from tkinter import * + +root = Tk() +c = Canvas(width=300, height=300, + bg='white') +c.focus_set() +c.pack() + +ball = c.create_oval(140, 140, 160, 160, + fill='green') +c.bind('', + lambda event: c.move(ball, 0, -3)) +c.bind('', + lambda event: c.move(ball, 0, 3)) +c.bind('', + lambda event: c.move(ball, -3, 0)) +c.bind('', + lambda event: c.move(ball, 3, 0)) + +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/dontdo3.py b/PythonTkinterTutorial/dontdo3.py new file mode 100644 index 0000000..6e789fb --- /dev/null +++ b/PythonTkinterTutorial/dontdo3.py @@ -0,0 +1,28 @@ +from tkinter import * + +root = Tk() + +c = Canvas(root, width=600, height=600, bg='white') +c.pack() +c.create_oval(10, 10, 190, 190, + fill='lightgrey', + outline='white') +c.create_arc(10, 10, 190, 190, + start=0, extent=45, + fill='red') +c.create_arc(10, 10, 190, 190, + start=180, extent=25, + fill='orange') +c.create_arc(10, 10, 190, 190, + start=240, extent=100, + style=CHORD, fill='green') +c.create_arc(10, 10, 190, 190, + start=160, extent=-70, + style=ARC, outline='darkblue', + width=5) +c.create_text(100, 100, + text="Hello World,\nPython\nand Tk", + justify=CENTER, font="Verdana 14") +c.create_text(200, 200, text="About this", + anchor=SE, fill="grey") +root.mainloop() \ No newline at end of file diff --git a/PythonTkinterTutorial/main.py b/PythonTkinterTutorial/main.py new file mode 100644 index 0000000..cfbf126 --- /dev/null +++ b/PythonTkinterTutorial/main.py @@ -0,0 +1 @@ +import Tutor5 \ No newline at end of file