1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
import tkinter # import thư viện tkinter from tkinter import * # import tất cả các phương thức có sẵn trong tkinter from tkinter.ttk import Combobox # import Combobox vào from tkinter import messagebox from tkinter import scrolledtext #------------------------------------------------------------------------------------------- myApp=Tk() # Gán biến myApp dạng một cửa sổ myApp.title("Làm quen với giao diện tkinter") # Tiêu đề của cửa sổ myApp.geometry("500x300") # Kích thước dài x rộng của cửa sổ #------------------------------------------------------------------------------------------- ''' 1. Khai báo đối tượng Label trên cửa sổ [Tên nhãn] = Label(Tên cửa sổ, text="Nội dung hiển thị") Phương thức: .grid(column = (cột), row = [hàng]) //hiển thị tại vị trí cột và hàng .place(x=[comumn],y=[row]) [Tên nhãn].config(text=[Nội dung hiển thị]) //Gán nội dung mới cho nhãn 2. Font chữ và cỡ chữ [Tên nhãn] = Label([Tên cửa sổ],text=["Nội dung hiển thị"],font=([Tên font],[Cỡ chữ],[Kiểu chữ]),bg=[màu nền],fg=[màu chữ]) Ex: lb_1=Label(myApp,text="Họ và tên:",font=("cambria",12, "bold")) ''' #------------------------------------------------------------------------------------------- lb_1=Label(myApp,text="Họ và tên:",font=("cambria",12)) lb_1.grid(column = 0, row = 0) lb_2=Label(myApp,text="Giới tính",font=("cambria",12)) lb_2.place(x=0,y=30) #x=column, y=row ; #lb_2.grid(column = 20, row = 10) #------------------------------------------------------------------------------------------- ''' 3. Làm việc với Textbox - Tạo textbox: [Tên texbox]=Entry([Tên cửa sổ],width=[độ rộng],bd=[độ dày viền]) - Lấy dữ liệu từ textbox: [Tên texbox].get() - Đặt texbox tại vị trí (x,y): [Tên texbox].place(x=[cột],y=[hàng]) ''' #------------------------------------------------------------------------------------------- txt_tb=Entry(myApp, text="Dao Dinh Ngoc",width=20,border=3) # Thêm 1 đối tượng là textbox vào cửa sổ txt_tb.place(x=100,y=0) # Đặt vị trí cho đối tượng #---------------------------------------Combobox------------------------------------- var = StringVar() var.set("one") Gt=("Nam","Nữ","Chưa biết","") # danh sách các lựa chọn cbx=Combobox(myApp, values=Gt) cbx.place(x=100, y=30) #---------------------------------------Listbox------------------------------------- wd=("Mon","Tue","Wen","Thu","Fri","Sat","Sun") lis_1=Listbox(myApp, height=8, selectmode='multiple') for gt in wd: lis_1.insert(END,gt) lis_1.place(x=100, y=55) #---------------------------------------Radiobutton------------------------------------- rv=IntVar() rv.set(1) rdo1=Radiobutton(myApp, text="Giáo viên", variable=rv,value=1) rdo2=Radiobutton(myApp, text="Học sinh", variable=rv,value=2) rdo1.place(x=250,y=0) rdo2.place(x=350, y=0) #---------------------------------------Checkbutton------------------------------------- cv1 = IntVar() cv2 = IntVar() chk1 = Checkbutton(myApp, text = "Âm nhạc", variable = cv1) chk2 = Checkbutton(myApp, text = "Thể thao", variable = cv2) chk1.place(x=250, y=30) chk2.place(x=350, y=30) '''-------------------------------------Msgbox----------------------------------------------- * messagebox .showinfo("Tiêu đề","Nội dung thông báo") .showwarning("Tiêu đề","Nội dung cảnh báo") .showerror("Tiêu đề","Nội dung báo lỗi")) res=messagebox.askquestion("Thông báo","Yêu cầu lựa chọn Yes/No") res=messagebox.askyesno("Thông báo","Yêu cầu lựa chọn Yes/No") res=messagebox.askyesnocancel("Thông báo","Yêu cầu lựa chọn Yes/No/Cancel") res=messagebox.askretrycancel("Thông báo","Yêu cầu lựa chọn Retry/Cancel") * Giá trị của: + res=True (ứng với Yes, Ok, Retry) + res=False (ứng với No, Cancel) + Với .askyesnocancel: res=True, False, None (ứng với Yes, No, Cancel) ''' #res=messagebox.askquestion("Thông báo","Yêu cầu lựa chọn Yes/No") #res=messagebox.askyesno("Thông báo","Yêu cầu lựa chọn Yes/No") #res=messagebox.askretrycancel("Thông báo","Yêu cầu lựa chọn Retry/Cancel") #-------------------------------------------------------------------------------------------------- res=messagebox.askyesnocancel("Thông báo","Yêu cầu lựa chọn Yes/No/Cancel") if(res==True): print("Yes clicked!") if(res==False): print("No clicked!") if(res==None): print("Cancel clicked!") #------------------------------------------------------------------------------------------------- ''' 1. Khai báo nút bấm (Button) + [Tên nút bấm] = Button([Tên cửa sổ],text=[Nội dung hiển thị],bf=[màu nền], fg=[màu chữ]) + Xử lý sự kiện nút bấm: Thực hiện 1 chương trình con def def [tên sự kiện](): [Câu lệnh] * Gắn sự kiện cho nút bấm [Tên nút bấm]=Button([Tên cửa sổ],text=[Nội dung hiển thị],command=[Tên sự kiện]) ''' #------------------------------------------------------------------------------------------------- def cmd_yes(): messagebox.showinfo("Thông báo","Cảm ơn bạn đã đồng ý!") #------------------------------------------------------------------------------------------------- cmbt1=Button(myApp,text="Đồng ý",font=("consolas",10),bg="yellow",fg="red",command=cmd_yes) # bf=[màu nền], fg=[màu chữ] cmbt1.place(x=5,y=60) #------------------------------------------------------------------------------------------------- ''' Scrolledtext //gọi tắt scrt [tên scrt]=scrolledtext.ScrolledText([Tên cửa sổ],width=x,height=y) [tên scrt] .insert(INSERT,[Nội dung chèn vào scrt]) .delete(1.0,END) //xóa nội dung trong scrt ''' #------------------------------------------------------------------------------------------------- scrtxt=scrolledtext.ScrolledText(myApp,width=20,height=8) scrtxt.place(x=250,y=55) scrtxt.insert(INSERT,"Đào Đình Ngọc \n") scrtxt.insert(INSERT,"Đào Đình Ngọc \n") scrtxt.insert(INSERT,"Đào Đình Ngọc \n") #------------------------------------------------------------------------------------------------- myApp.mainloop() |