2016-03-31 15 views
5

Tôi gặp một số sự cố với các tab từ lớp ttk Notebook trong python 2.7. Tôi không thể thấy tất cả các tab tôi tạo.Không thể thấy tất cả các tab trong ttk.Notebook

tôi đã thực hiện một mã tối thiểu để xem các vấn đề:

from Tkinter import * 
import ttk 

root = Tk() 
nb = ttk.Notebook(root, width=320, height=240) 
nb.pack(fill=BOTH, expand=1) 
page0 = Frame(nb) 
page1 = Frame(nb) 
page2 = Frame(nb) 
page3 = Frame(nb) 
page4 = Frame(nb) 
nb.add(page0, text="0") 
nb.add(page1, text="1") 
nb.add(page2, text="2") 
nb.add(page3, text="3") 
nb.add(page4, text="4") 

root.mainloop() 

Tất cả tôi có thể thấy được

this

Tôi cố gắng để thay đổi số lượng các tab và tôi nhận thấy kích thước của thay đổi thanh tab trên cùng và trừ khi chỉ có một tab đơn độc, tôi không thể thấy tất cả các tab đó, như bạn có thể thấy:

that

gì tôi đã cố gắng mà không làm bất cứ điều gì:

  • tab Thiết lập chiều rộng
  • Di chuyển .pack() xung quanh
  • Thêm .pack() để các tab
  • Sử dụng TTK. Khung thay vì tk.Frame
  • Googling cho một vấn đề tương tự

Wha t tôi đã cố gắng mà làm việc nhưng không phải là những gì tôi muốn:

  • Không sử dụng các tab (quá nhiều thứ để hiển thị)
  • Có chỉ có một tab

tôi sẽ đánh giá cao bất kỳ sự giúp đỡ, thanks !

+3

Điều này trông giống như một lỗi trong ttk. Nếu bạn thêm dấu cách ở trước hoặc sau mỗi nhãn (ví dụ: 'text =" 1 "' thì tất cả chúng đều hiển thị. –

+1

@BryanOakley Trên Windows, nó tệ hơn. Tôi cần 6 dấu cách sau '4' để xem' 4 ' trên một tab giống như những người khác –

+1

Tôi mở https://bugs.python.org/issue26682 về vấn đề này, chủ yếu là tài liệu về lỗi này –

Trả lời

2

Vì vậy, tôi đã khắc phục sự cố của bạn, tuy nhiên, tôi không biết tại sao tk lại làm điều này. Tôi đã giải quyết vấn đề này bằng cách tăng độ dài của văn bản tab. Tôi đã thay đổi phần này của mã của bạn:

nb.add(page0, text="long_name1") 
nb.add(page1, text="long_name2") 
nb.add(page2, text="long_name3") 
nb.add(page3, text="long_name4") 
nb.add(page4, text="long_name5") 

Một lần nữa tôi không biết tại sao tk làm điều này! Ai đó có kinh nghiệm hơn với tk có thể có thể cho bạn biết lý do tại sao.

+1

Bằng cách thu hẹp tên dài của bạn, mức tối thiểu hoạt động là 3 ký tự, với dấu đầu tiên và cuối cùng không được để trống –

+1

Cảm ơn sự giúp đỡ! Tôi phải sử dụng 5 ký tự tối thiểu để có thể xem tất cả các tab. – Morb

Các vấn đề liên quan