Tkinter hỗ trợ tốt cho tạo chương trình GUI Python. Cung cấp nhiều cách định dạng nút bấm trên canvas dựa trên font, kích thước, màu sắc. Bài viết này chỉ cách áp dụng style cho nút cụ thể hoặc tất cả nút trên canvas.
Áp dụng cho nút cụ thể
Xét trường hợp có hai nút trên canvas, muốn định dạng chỉ cho nút đầu tiên. Dùng W.TButton trong cấu hình cùng với font và màu chữ.
Ví dụ
from tkinter import *
from tkinter.ttk import *
# Thiết lập canvas
canv = Tk()
canv.geometry('200x150')
# Tạo đối tượng style
sto = Style()
# Cấu hình style
sto.configure('W.TButton', font=('Arial', 10, 'underline'), foreground='Green')
# Nút có style
btns = Button(canv, text='Welcome!', style='W.TButton', command=canv.destroy)
btns.grid(row=0, column=1, padx=50)
# Nút không style
btnns = Button(canv, text='Click to Start!', command=None)
btnns.grid(row=1, column=1, pady=10, padx=50)
canv.mainloop()
Kết quả

Áp dụng cho tất cả nút
Cấu hình tương tự nhưng dùng TButton làm style, tự động áp dụng cho tất cả nút trên canvas.
Ví dụ
from tkinter import *
from tkinter.ttk import *
canv = Tk()
canv.geometry('200x150')
# Tạo đối tượng style
sto = Style()
# Cấu hình style
sto.configure('TButton', font=('calibri', 10, 'bold', 'underline'), foreground='Green')
# Nút 1
btns = Button(canv, text='Welcome!', style='TButton', command=canv.destroy)
btns.grid(row=0, column=1, padx=50)
# Nút 2
btnns = Button(canv, text='Click to start!', command=None)
btnns.grid(row=1, column=1, pady=10, padx=50)
canv.mainloop()
Kết quả
