Tôi đã thêm một tiện ích OptionMenu
vào mã của mình và chỉ định danh sách làm tùy chọn. Đây là cách thực hiện:OptionMenu sẽ không hiển thị tùy chọn đầu tiên khi được nhấp (Tkinter)
z = StringVar()
z.set(userList[0])
usersOption = OptionMenu(frame1, z, *userList)#, command=changeUser)
usersOption.pack(side=RIGHT, padx=3)
Bây giờ, tôi nghĩ nó sẽ hiển thị tất cả các tùy chọn trong danh sách được nêu. Như vậy:
Option 1 \/ <-- the box with the selected option
Option 1 }\__the options that show on click
Option 2 }/
nhưng nó thực sự chỉ cho thấy sự lựa chọn thứ hai, và khi tôi chọn nó có nghĩa là, về cơ bản, không có cách nào trở lại, nếu tôi nhấp vào hộp một lần nữa nó tiếp tục chỉ hiển thị tùy chọn 2 và tôi có thể không thay đổi nó ngay cả với các phím lên và xuống. Tôi đã thử tìm kiếm giải pháp, nhưng tôi không tìm được nơi nào, vì vậy tôi bắt đầu nghĩ đó là cách hoạt động mặc định của tiện ích, nhưng tôi không thấy gì để chỉ cho tôi cách giải quyết nó trong tài liệu tôi đã đọc.
P .: Tôi đang sử dụng Python 3.3
là 'z' một thể hiện của Tkinter' StringVar'? Bạn có chắc chắn rằng 'userlist' có giá trị mà bạn nghĩ rằng nó có? –
có, nó là và có, nó có. Danh sách được tạo từ một dòng của tệp txt mà không có bộ ngắt dòng '\ n' (vì tôi sử dụng .strip()). Tệp văn bản này hiện có hai dòng: "Người dùng 1" và "Người dùng 2". Và nó được đặt thành userList [0]. (Tôi sẽ chỉnh sửa văn bản để thêm nội dung này) – AugustoQ