GUI là viết tắt của cụm từ Giao diện người dùng đồ họa, có nghĩa là giao diện đồ họa người dùng. Thuật ngữ này được sử dụng để chỉ cách người dùng tương tác với các thiết bị máy tính thông qua hình ảnh, thay vì sử dụng các câu lệnh phức tạp
Sau đây VniTeach sẽ hướng dẫn thiết lập giao diện GUI bằng Tkinter trong ngôn ngữ Python
1. Create first interface
#Thêm thư viện tkinter
from tkinter import *
#Tạo một cửa sổ mới
window = Tk[]
#Thêm tiêu đề cho cửa sổ
window.title['Welcome to VniTeach app']
#Đặt kích thước của cửa sổ
window.geometry['350x200']
#Lặp vô tận để hiển thị cửa sổ
window.mainloop[]
Dòng cuối cùng cuộc gọi
w = Button[ master, option = value, .. ]4 hàm. Hàm này gọi vòng lặp vô tận của cửa sổ, vì vậy cửa sổ sẽ chờ bất kỳ tác vụ tương tác nào mà người dùng cho đến khi chúng ta đóng nó
Nếu bạn quên cuộc gọi
w = Button[ master, option = value, .. ]4 hàm, sẽ không có gì xuất hiện cho người dùng
2. Làm việc với nhãn
This object used to display text or picture image
cú pháp
w = Nhãn[chính, tùy chọn, … ]
Tham số
- master − Tên của cửa sổ chứa nhãn
- tùy chọn − Đây là danh sách một số tùy chọn thường được sử dụng cho nhãn, tùy chọn này có thể sử dụng cặp từ khóa và giá trị
Ví dụ đơn giản
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
2. Làm việc với Button
Nút bấm có thể hiển thị văn bản hoặc hình ảnh, chúng ta có thể thiết lập sự kiện khi chúng ta nhấp vào nút bấm như tự động gọi chức năng không có giới hạn
cú pháp
w = Button[ master, option = value, .. ]
Tham số
- master − Tên của cửa sổ chứa nút bấm
- tùy chọn − Đây là danh sách một số tùy chọn thường được sử dụng để nhấn nút, tùy chọn này có thể sử dụng cặp từ khóa và giá trị
Phương thức
Phương thức và giải thích flash[] Làm cho nút nhấp nháy nhiều lần giữa màu đang hoạt động và màu bình thường. To node at the first status. Bỏ qua nếu nút bị tắt. 2invoke[] Calling back of node and return about what what that function that return. Không có tác dụng nếu nút bị tắt hoặc không có lệnh gọi lạiVí dụ
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
window.geometry['350x200']
lbl = Label[window, text="Hello"]
lbl.grid[column=0, row=0]
#Thêm một nút nhấn Click Me
btn = Button[window, text="Click Me", bg="orange", fg="red"]
#Thiết lập vị trí của nút nhấn có màu nền và màu chữ
btn.grid[column=1, row=0]
window.mainloop[]
Xử lý sự kiện khi nhấn nút Click Me
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
window.geometry['350x200']
lbl = Label[window, text="Hello"]
lbl.grid[column=0, row=0]
#Hàm khi nút được nhấn
def clicked[]:
lbl.configure[text="Button was clicked !!"]
#Gọi hàm clicked khi nút được nhấn
btn = Button[window, text="Click Me", command=clicked]
btn.grid[column=1, row=0]
window.mainloop[]
Không nhất thiết phải đặt tên hàm để xử lý sự kiện nhấp chuột được nhấp như trên, ví dụ như sau
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk[]
top.geometry["100x100"]
def helloCallBack[]:
msg = messagebox.showinfo[ "Hello Python", "Hello World"]
B = Button[top, text = "Hello", command = helloCallBack]
B.place[x = 50,y = 50]
top.mainloop[]
3. Làm việc với Textbox
________số 84. Làm việc với Combobox
from tkinter import *
from tkinter.ttk import *
window = Tk[]
window.title["Welcome to VniTeach app"]
window.geometry['350x200']
#Tạo hộp chọn Combobox
combo = Combobox[window]
#Các giá trị của hộp chọn
combo['values']= [1, 2, 3, 4, 5, "Text"]
#Thiết lập giá trị được chọn
combo.current[1] #set the selected item
combo.grid[column=0, row=0]
#Lấy giá trị của hộp chọn bằng combo.get[]
window.mainloop[]
5. Làm việc với Checkbox
w = Button[ master, option = value, .. ]0
6. Làm việc với Radio
w = Button[ master, option = value, .. ]1
7. Làm việc với ScrolledText
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
08. Làm việc với Messagebox
– Hộp thoại thông báo
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
1– Hộp thoại cảnh báo và lỗi
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
2– Hộp thoại câu hỏi
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
39. Làm việc với SpinBox
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
4– Liệt kê các giá trị của spinbox
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
5– Set default value for spinbox
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
610. Làm việc với tệp chọn tệp và thư mục
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
7Chỉ định ban đầu thư mục cho hộp thoại tệp bằng cách chỉ định
w = Button[ master, option = value, .. ]6 như thế này
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
811. Làm việc với Menu
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
#Thêm label có nội dung Hello, font chữ
lbl = Label[window, text="Hello", font=["Arial Bold", 50]]
#Xác định vị trí của label
lbl.grid[column=0, row=0]
window.mainloop[]
9Sự kiện khi người dùng nhấp vào chọn một bảng chọn nào đó
w = Button[ master, option = value, .. ]0
12. Làm việc với các Tab
Để tạo một tab điều khiển, có một vài bước
- Đầu tiên, chúng ta tạo một tab điều khiển bằng cách sử dụng lớp
w = Button[ master, option = value, .. ]
7 - Tạo tab bằng cách sử dụng
w = Button[ master, option = value, .. ]
8 lớp - Thêm tab đó vào tab điều khiển
- Đóng tab điều khiển gói để nó hiển thị trong cửa sổ
w = Button[ master, option = value, .. ]1
Thêm Widget vào Notebook
Sau khi tạo các tab, bạn có thể đặt các widget bên trong các tab này bằng cách gán thuộc tính cha cho tab mong muốn
w = Button[ master, option = value, .. ]2
Thêm khoảng cách cho các widget [Padding]
Bạn có thể bổ sung khoảng cách trước và sau của mỗi tab bằng cách sử dụng các thuộc tính
w = Button[ master, option = value, .. ]9 và
from tkinter import *
window = Tk[]
window.title["Welcome to VniTeach app"]
window.geometry['350x200']
lbl = Label[window, text="Hello"]
lbl.grid[column=0, row=0]
#Thêm một nút nhấn Click Me
btn = Button[window, text="Click Me", bg="orange", fg="red"]
#Thiết lập vị trí của nút nhấn có màu nền và màu chữ
btn.grid[column=1, row=0]
window.mainloop[]
0