Sự cố này gần như khiến tôi bị sốt. Tôi là người mới bắt đầu và không có kiến thức về tck/tk. Tôi đã thực hiện tìm kiếm trên internet một cách cẩn thận nhưng chưa tìm được giải pháp tốt.cách biết tất cả các tùy chọn kiểu dáng của tiện ích ttk
Ví dụ, tôi tạo ra một khung nhãn sử dụng
import tkinter as tk
from tkinter import ttk
newBT = ttk.LabelFrame(width=100, height=100)
Sau đó, tôi cần phải thiết lập các kiểu khung. Có tiền cảnh cho tk.LabelFrame. Tuy nhiên, tôi không tìm thấy tùy chọn kiểu như vậy đối với tham chiếu ttk.LabelFrame trên NMT và tck/tk. Sau đó, tôi phải đoán, như sau
s = ttk.Style()
s.configure('TLabelframe', foreground='red')
Nhưng điều này không làm việc, the right thing là
s.configure('TLabelframe.Label', foreground='red')
Vì vậy, câu hỏi của tôi là, làm thế nào tôi có thể tìm hiểu tất cả các tùy chọn phong cách một widget TTK có . Có một số chức năng như
s.getAllOptions('TLabelframe')
và sau đó đầu ra là một cái gì đó giống như
['background', 'foreground', 'padding', 'border', ...]
Cảm ơn!
Tôi nghĩ tôi tìm một giải pháp. Đầu tiên, sử dụng 's.layout ('TLabelframe')' để tìm ra tất cả các phần tử của widget này. Thứ hai, sử dụng 's.element_options ('tên phần tử')' để tìm ra tất cả các tùy chọn có sẵn. Thật không may, tôi đã không tìm ra cách để có được ** TLabelframe.Label ** vì 's.layout ('TLabelframe')' không xuất ra điều này. Có vẻ như không phải là một phần tử của ttk.Labelframe. –
Tôi đang tìm một cái gì đó tương tự. Có vẻ như người ta có thể sử dụng 'widget.configure()' gọi, không có tham số và nhận danh sách các thuộc tính mà trong đó bạn tìm thấy kiểu dáng với tên của nó. Sử dụng kiểu tên, bạn có thể tạo kiểu tk và lấy màu của nó. Tôi sẽ thử theo cách đó – madtyn
Cảm ơn madtyn. Bạn đang đúng .configure() không có đối số sẽ cho bạn biết thuộc tính và cài đặt hiện tại. Tuy nhiên, điều đó sẽ không cung cấp cho bạn phong cách bạn có thể đặt. –