Tkinter ComboBox

Tkinter Combobox



Gói ttk, một sửa đổi duy nhất của Python Tkinter, giới thiệu thành phần bổ sung này. Python Tkinter ComboBox hiển thị từng lựa chọn từ menu thả xuống 1 tại một thời điểm. Nó có vẻ ngoài hiện đại, làm cho nó phù hợp với những vị trí mà độ phơi sáng là quan trọng. Mục nhập tiện ích là một khả năng lớp của Python ComboBox. Do đó, nó thêm một số lựa chọn và chức năng bổ sung trong khi cũng kế thừa một số từ lớp Entry.

Một tiện ích quan trọng có thể thấy trong một số chương trình là ComboBox. Người dùng được cung cấp một danh sách các lựa chọn thay thế để lựa chọn. Nó có một số giá trị và chỉ hiển thị một giá trị tại một thời điểm. Hướng dẫn hôm nay sẽ trình bày cách sử dụng ComboBox trong Linux bằng Tkinter.

Ví dụ 1:

Hãy bắt đầu với ví dụ đầu tiên về mô-đun Tkinter bằng Python. Chúng tôi tạo một tệp Python mới với phần mở rộng “py” thông qua bảng điều khiển đầu cuối. Sau đó, bạn có thể sử dụng bất kỳ trình chỉnh sửa nào bạn chọn để mở tệp Python mới được tạo từ trình khám phá tệp. Chúng tôi bắt đầu mã Python này với việc nhập thư viện Tkinter trong mã cùng với tất cả các đối tượng con, lớp và thực thể tích hợp của nó.







Chúng tôi nhập đối tượng ttk của nó để được sử dụng trong mã. Đầu tiên, chúng ta gọi hàm Tk () của Tkinter để thêm một giá trị mới cho đối tượng “t”. Đối tượng “t” được sử dụng để gọi hàm hình học để tạo giao diện người dùng đồ họa “200 × 150”. Trong ví dụ đầu tiên này, chúng tôi sử dụng phương thức “frame ()” của Tkinter để tạo khung GUI trên màn hình điều khiển. Đối tượng “f” của khung được đóng ở đây bằng cách sử dụng hàm Tkinter pack ().



Sau đó, chúng tôi tạo một danh sách “l” của các loại chuỗi chứa tổng cộng 5 giá trị chuỗi trong đó. Sau đó, chúng tôi sử dụng đối tượng Tkinter ttk để gọi hàm ComboBox của Tkinter trong khung “f”. Danh sách 'l' được chuyển cho nó. ComboBox này được lưu vào biến “C”. Chúng tôi đặt nhãn cho ComboBox bằng cách sử dụng chức năng “set” và đóng gói ComboBox với các phần đệm chính xác. Bây giờ, chúng ta thực thi hàm mainloop () để thực thi chương trình Tkinter tổng thể.







Sau khi hoàn thành tập lệnh Python, chúng tôi lưu mã bằng Ctrl + S và quay lại giao diện điều khiển shell của hệ thống Linux. Chúng tôi thử hướng dẫn Python3 trong shell theo sau là tên của tệp Python để thực thi tệp như được hiển thị trong phần sau:

$ python3 test.py



Sau khi thực hiện truy vấn, chúng tôi nhận được Tkinter GUI sau trên màn hình bảng điều khiển của chúng tôi với tiêu đề “tk”. Màn hình GUI chứa comboBox, tức là danh sách thả xuống, với tiêu đề “Chọn 1 màu” và dấu tam giác để mở.

Sau khi nhấn vào dấu hiệu tam giác, danh sách thả xuống dài được hiển thị với tất cả các tùy chọn có sẵn của nó. Bạn có thể thấy rằng chúng tôi có tổng cộng 5 tùy chọn có sẵn để lựa chọn.

Giả sử, bạn chọn màu 'Đen' từ danh sách thả xuống. Bạn sẽ thấy rằng màu đã chọn được hiển thị trên vùng tiêu đề của một ComboBox thả xuống. Danh sách còn lại được ẩn.

Ví dụ 2:

Chúng ta hãy xem một ví dụ khác sử dụng một phương pháp khác để tạo ComboBox trong Tkinter lần này. Do đó, chúng tôi bắt đầu mã Python này với việc nhập mô-đun Tkinter trong cùng một tệp Python như “tk” cùng với việc nhập lớp ttk của nó. Sau đó, chúng tôi nhập hàm showinfo () từ lớp hộp thư của mô-đun Tkinter. Ngoài ra, chúng tôi nhập biến month_name từ mô-đun lịch của Python.

Chúng ta gọi hàm tk () với đối tượng tk của mô-đun Tkinter và lưu kết quả hàm tạo trong biến “t”. Hàm hình học được gọi với các tham số xác định để tạo GUI của Tkinter với kích thước cụ thể. Hàm title () được gọi với tham số “Combobox Illustration” để đặt tiêu đề cho Tkinter GUI và hàm Label từ lớp ttk để tạo nhãn “l”. Hàm pack được sử dụng để điền vào nhãn “l”. Biến “mn” được tạo bằng hàm StringVar () của lớp “tk”. ComboBox “mcb” được tạo bằng cách sử dụng hàm ComboBox và văn bản biến “mn”. ComboBox mcb chứa đầy các giá trị chuỗi lên đến 13 thông qua biến month_name được sử dụng trong vòng lặp “for”.

Trạng thái cho ComboBox “mcb” được đặt thành chỉ đọc và nó được đóng gói. Hàm select () được tạo để gọi hàm showinfo () nhằm tạo hộp thoại cảnh báo với tiêu đề “Xác nhận” và thông báo “Bạn đã chọn {bất kỳ giá trị nào}. Hàm bind () được gọi với ComboBox “mcb” bằng cách thêm các tham số “ComboboxSelected” và hàm “change”. Hàm mainloop () được thực thi để lặp lại chương trình Tkinter. Hãy lưu nó trước khi chạy.

Chúng tôi thực thi tệp này bằng truy vấn python3.

$ con trăn 3 test.py

Màn hình Tkinter sau có tên “Hình minh họa ComboBox” sẽ xuất hiện như sau:

Khi chúng ta nhấp vào dấu tam giác ComboBox bên dưới tiêu đề “Chọn một tháng”, nó sẽ hiển thị tên của một tháng.

Khi chúng tôi chọn “Tháng bảy”, nó sẽ hiển thị trên nhãn và cảnh báo đối thoại và một thông báo sẽ xuất hiện. Nhấn Ok để tiếp tục.

Sự kết luận

Đây là tất cả về việc sử dụng mô-đun Tkinter của Python để tạo comboBox trong cửa sổ GUI. Đối với điều này, chúng tôi đã thử hai ví dụ đơn giản nhưng khác nhau của Python để đạt được mục tiêu bằng cách sử dụng hàm frame () và cách thông thường để tạo comboBox trong GUI. Chúng tôi đã kết hợp các mã mẫu cho cả hai trường hợp và thực hiện một số thay đổi sau khi thực thi các mã.