pytrening 2.0 # 15 okienka gui

24
Podstawy tworzenia GUI w tkinter Mateusz Dobrychłop 2016, Python 3

Upload: moniaj

Post on 17-Jan-2017

131 views

Category:

Software


1 download

TRANSCRIPT

Podstawy tworzeniaGUI w tkinter

Mateusz Dobrychłop2016, Python 3

import tkinter

top = tkinter.Tk()

top.mainloop()

import tkinter

top = tkinter.Tk()

top.wm_title('Hello...')

label1 = tkinter.Label(top, text='...world!')

label1.pack()

top.mainloop()

import tkinter

top = tkinter.Tk()

top.wm_title('Hello...')

top.resizable(width='false', height='false')

top.minsize(width=200, height=50)top.maxsize(width=200, height=50)

label1 = tkinter.Label(top, text='...world!')

label1.pack()

top.mainloop()

import tkinter

top = tkinter.Tk()

top.wm_title('Hello...')

top.resizable(width='false', height='false')

top.minsize(width=200, height=50)top.maxsize(width=200, height=50)

label1 = tkinter.Label(top, text='...world!')

label1.pack()

b_close = tkinter.Button(top, text='Zamknij', command=top.destroy)

b_close.pack()

top.mainloop()

import tkinter

top = tkinter.Tk()

top.wm_title('Hello...')

top.resizable(width='false', height='false')

top.minsize(width=200, height=50)top.maxsize(width=200, height=50)

label1 = tkinter.Label(top, text='...world!')

label1.pack()

b_close = tkinter.Button(top, text='Zamknij', command=top.destroy)

b_close.pack(fill='x')

top.mainloop()

import tkinter

top = tkinter.Tk()

top.wm_title('Hello...')

top.resizable(width='false', height='false')

top.minsize(width=200, height=50)top.maxsize(width=200, height=50)

label1 = tkinter.Label(top, text='...world!')

label1.pack()

b_close = tkinter.Button(top, text='Zamknij', command=top.destroy)

b_close.pack(fill='x')

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge')

frame1.pack(fill='x')frame2.pack(fill='x')

label1 = tkinter.Label(frame1, text='...world!')

label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)

b_close.pack(fill='x')

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame1.pack(fill='y',side='left')

frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame2.pack(fill='y',side='left')

label1 = tkinter.Label(frame1, text='...world!')label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)b_close.pack()

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame1.pack(fill='y',side='left')

frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame2.pack(fill='y',side='left')

frame3 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame3.pack(fill='y',side='left')

label1 = tkinter.Label(frame1, text='...world!')label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)b_close.pack()

b_color = tkinter.Button(frame3, text='Kolor')b_color.pack()

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame1.grid(row=0, column=0)

frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame2.grid(row=0, column=1)

frame3 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame3.grid(row=1,column=0)

label1 = tkinter.Label(frame1, text='...world!')label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)b_close.pack()

b_color = tkinter.Button(frame3, text='Kolor')b_color.pack()

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame1.grid(row=0, column=0,sticky='ns')

frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame2.grid(row=0, column=1,sticky='ns')

frame3 = tkinter.Frame(top, borderwidth=2, relief='ridge')frame3.grid(row=1,column=0,sticky='ew')

label1 = tkinter.Label(frame1, text='...world!')label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)b_close.pack()

b_color = tkinter.Button(frame3, text='Kolor')b_color.pack()

top.mainloop()

frame1 = tkinter.Frame(top, borderwidth=2, relief='ridge', pady=4, padx=4)frame1.grid(row=0, column=0,sticky='ns')

frame2 = tkinter.Frame(top, borderwidth=2, relief='ridge', pady=4, padx=4)frame2.grid(row=0, column=1,sticky='ns')

frame3 = tkinter.Frame(top, borderwidth=2, relief='ridge', pady=4, padx=4)frame3.grid(row=1,column=0,sticky='ew', columnspan=2)

label1 = tkinter.Label(frame1, text='Hello world!')label1.pack()

b_close = tkinter.Button(frame2, text='Zamknij', command=top.destroy)b_close.pack()

b_color = tkinter.Button(frame3, text='Kolor')b_color.pack(fill='x')

top.mainloop()

def color_label(): color = tkinter.colorchooser.askcolor(parent=top) print(color) label1.configure(bg=color[1])

b_color = tkinter.Button(frame3, text='Kolor', command=color_label)b_color.pack(fill='x')

((0,255,255), '00ffff')

def color_label(lab): color = tkinter.colorchooser.askcolor(parent=top) print(color) lab.configure(bg=color[1])

b_color = tkinter.Button(frame3, text='Kolor', command=lambda: color_label(label1))b_color.pack(fill='x')

import tkinter

top = tkinter.Tk()

entry1 = tkinter.Entry(top, width=50)entry1.pack(side='left')

button_print = tkinter.Button(top, text='Print text')button_print.pack(side='left')

top.mainloop()

import tkinter

top = tkinter.Tk()

def print_text(ent): print(ent.get())

entry1 = tkinter.Entry(top, width=50)entry1.pack(side='left')

button_print = tkinter.Button(top, text='Print text', command=lambda: print_text(entry1))button_print.pack(side='left')

top.mainloop()

import tkinter

top = tkinter.Tk()

def print_text(ent): tkinter.messagebox.showinfo('Informacja',ent.get())

entry1 = tkinter.Entry(top, width=50)entry1.pack(side='left')

button_print = tkinter.Button(top, text='Print text', command=lambda: print_text(entry1))button_print.pack(side='left')

top.mainloop()

tkMessageBox• showinfo• showwarning • showerror • askquestion • askokcancel • askyesno • askretrycancel

import tkinter

top = tkinter.Tk()

def print_file(): f = tkinter.filedialog.askopenfilename(

parent=top, initialdir='/', title='Choose file', filetypes=[('text files','.txt')])

fc = open(f,'r') print(fc.read())

b1 = tkinter.Button(top, text='Print file content', command=print_file)b1.pack(anchor='w')

top.mainloop()

import tkinter

top = tkinter.Tk()

colors = [('Red', 'red'), ('Green', 'green'), ('Blue', 'blue'), ('White', 'white')]

v = tkinter.StringVar()v.set('red')

for text, color in colors: b = tkinter.Radiobutton(top, text=text, variable=v, value=color) b.pack(anchor='w')

top.mainloop()

ĆWICZENIE

import tkinter

top = tkinter.Tk()

colors = [('Red', 'red'), ('Green', 'green'), ('Blue', 'blue'), ('White', 'white')]

v = tkinter.StringVar()v.set('red')

for text, color in colors: b = tkinter.Radiobutton(top, text=text, variable=v, value=color) b.pack(anchor='w') def color_me(): b1.configure(bg=v.get())

b1 = tkinter.Button(top, text='COLOR ME', command=color_me)b1.pack(anchor='w',fill='x')

top.mainloop()

Przydatne linki

• wiki.python.org/moin/TkInter• tkdocs.com/tutorial• tkinter.unpythonic.net/wiki• pmw.sourceforge.net• effbot.org/tkinterbook (2.7)• thinkingtkinter.sourceforge.net (2.7)