Tạo gui python

Python cung cấp nhiều tùy chọn khác nhau để phát triển giao diện người dùng đồ họa [GUIs]. Quan trọng nhất được liệt kê dưới đây

  • Tkinter − Tkinter là giao diện Python cho bộ công cụ Tk GUI đi kèm với Python. Chúng tôi sẽ xem xét tùy chọn này trong chương này

  • wxPython − Đây là giao diện Python mã nguồn mở cho wxWindows http. //wxpython. tổ chức

  • JPython − JPython là một cổng Python dành cho Java, cho phép các tập lệnh Python truy cập liền mạch vào các thư viện lớp Java trên máy cục bộ http. //www. jython. tổ chức

Có nhiều giao diện khác có sẵn, bạn có thể tìm thấy chúng trên mạng

Lập trình Tkinter

Tkinter là thư viện GUI tiêu chuẩn cho Python. Python khi kết hợp với Tkinter cung cấp một cách nhanh chóng và dễ dàng để tạo các ứng dụng GUI. Tkinter cung cấp giao diện hướng đối tượng mạnh mẽ cho bộ công cụ Tk GUI

Tạo một ứng dụng GUI bằng Tkinter là một nhiệm vụ dễ dàng. Tất cả những gì bạn cần làm là thực hiện các bước sau –

  • Nhập mô-đun Tkinter

  • Tạo cửa sổ chính của ứng dụng GUI

  • Thêm một hoặc nhiều tiện ích nêu trên vào ứng dụng GUI

  • Nhập vòng lặp sự kiện chính để thực hiện hành động đối với từng sự kiện do người dùng kích hoạt

Thí dụ

#!/usr/bin/python

import Tkinter
top = Tkinter.Tk[]
# Code to add widgets will go here...
top.mainloop[]

Điều này sẽ tạo ra một cửa sổ sau -

Tiện ích Tkinter

Tkinter cung cấp nhiều điều khiển khác nhau, chẳng hạn như các nút, nhãn và hộp văn bản được sử dụng trong ứng dụng GUI. Các điều khiển này thường được gọi là widget

Hiện tại có 15 loại widget trong Tkinter. Chúng tôi trình bày các vật dụng này cũng như mô tả ngắn gọn trong bảng sau -

Sr. Không. Toán tử & Mô tả1Button

Tiện ích Nút được sử dụng để hiển thị các nút trong ứng dụng của bạn

2vải

Tiện ích Canvas được sử dụng để vẽ các hình dạng, chẳng hạn như đường thẳng, hình bầu dục, đa giác và hình chữ nhật, trong ứng dụng của bạn

3Nút kiểm tra

Tiện ích Nút kiểm được sử dụng để hiển thị một số tùy chọn dưới dạng hộp kiểm. Người dùng có thể chọn nhiều tùy chọn cùng một lúc

4Mục nhập

Tiện ích Mục nhập được sử dụng để hiển thị trường văn bản một dòng để chấp nhận giá trị từ người dùng

5khung

Tiện ích Khung được sử dụng làm tiện ích chứa để sắp xếp các tiện ích khác

6Nhãn

Tiện ích Nhãn được sử dụng để cung cấp chú thích một dòng cho các tiện ích khác. Nó cũng có thể chứa hình ảnh

7hộp danh sách

Tiện ích Hộp danh sách được sử dụng để cung cấp danh sách các tùy chọn cho người dùng

8nút thực đơn

Tiện ích Menubutton được sử dụng để hiển thị các menu trong ứng dụng của bạn

9Thực đơn

Tiện ích Menu được sử dụng để cung cấp các lệnh khác nhau cho người dùng. Các lệnh này được chứa bên trong Menubutton

10Tin nhắn

Tiện ích Tin nhắn được sử dụng để hiển thị các trường văn bản nhiều dòng để chấp nhận các giá trị từ người dùng

11. Nút phóng xạ

Tiện ích Radiobutton được sử dụng để hiển thị một số tùy chọn dưới dạng nút radio. Người dùng chỉ có thể chọn một tùy chọn tại một thời điểm

12Quy mô

Tiện ích Tỷ lệ được sử dụng để cung cấp tiện ích thanh trượt

13Thanh cuộn

Tiện ích Thanh cuộn được sử dụng để thêm khả năng cuộn vào các tiện ích khác nhau, chẳng hạn như hộp danh sách

14Văn bản

Tiện ích Văn bản được sử dụng để hiển thị văn bản trong nhiều dòng

15Cấp cao nhất

Tiện ích Toplevel được sử dụng để cung cấp vùng chứa cửa sổ riêng

16Spinbox

Tiện ích Spinbox là một biến thể của tiện ích Tkinter Entry tiêu chuẩn, có thể được sử dụng để chọn từ một số giá trị cố định

17Cửa sổ Paned

PanedWindow là một tiện ích chứa có thể chứa bất kỳ số lượng ngăn nào, được sắp xếp theo chiều ngang hoặc chiều dọc

18NhãnKhung

Labelframe là một tiện ích chứa đơn giản. Mục đích chính của nó là hoạt động như một miếng đệm hoặc vùng chứa cho các bố cục cửa sổ phức tạp

19tkMessageBox

Mô-đun này được sử dụng để hiển thị các hộp thông báo trong các ứng dụng của bạn

Hãy để chúng tôi nghiên cứu các vật dụng này một cách chi tiết -

thuộc tính tiêu chuẩn

Chúng ta hãy xem làm thế nào một số thuộc tính phổ biến của họ. chẳng hạn như kích thước, màu sắc và phông chữ được chỉ định

Hãy để chúng tôi nghiên cứu chúng một thời gian ngắn -

Quản lý hình học

Tất cả các tiện ích Tkinter đều có quyền truy cập vào các phương pháp quản lý hình học cụ thể, có mục đích tổ chức các tiện ích trong khu vực tiện ích chính. Tkinter hiển thị các lớp trình quản lý hình học sau. gói, lưới và địa điểm

  • Phương thức pack[] - Trình quản lý hình học này sắp xếp các widget theo khối trước khi đặt chúng vào widget chính

  • Phương thức grid[] - Trình quản lý hình học này tổ chức các widget theo cấu trúc giống như bảng trong widget cha

  • Phương thức place[] - Trình quản lý hình học này tổ chức các widget bằng cách đặt chúng ở một vị trí cụ thể trong widget cha

    Python cung cấp các tùy chọn khác nhau để phát triển giao diện người dùng đồ họa [GUI]. Quan trọng nhất được liệt kê dưới đây

    • tkinter. Tkinter is Python interface for Tk GUI tool. Chúng ta sẽ học Tkinter trong chương trình này
    • wxPython. This is an Python open source code interface for wxWindows https. //wxpython. tổ chức/
    • JPython. JPython là một cổng Python dành cho Java, cho phép tập lệnh Python truy cập vào các thư viện Java trên máy cục bộ https. //www. jython. tổ chức/

    Nội dung chính

    Lập trình Tkinter trong Python

    Tkinter là thư viện GUI tiêu chuẩn cho Python. Tkinter trong Python cung cấp một cách nhanh chóng và dễ dàng để tạo các ứng dụng GUI. Tkinter cung cấp các đối tượng giao diện cho bộ công cụ Tk GUI

    Sau đây là các bước để tạo ứng dụng Tkinter

    1. nhập mô-đun Tkinter
    2. Tạo cửa sổ chính của ứng dụng GUI
    3. Thêm một hoặc nhiều tiện ích nói trên ứng dụng GUI
    4. Vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng

    Ví dụ

    # import Tkinter module
    from tkinter import *
    # Tạo cửa sổ chính của ứng dụng GUI
    top = Tk[]
    # Gọi vòng lặp sự kiện chính để các hành động có thể diễn ra trên màn hình máy tính của người dùng
    top.mainloop[]
    

    Kết quả


    Widget của Tkinter trong Python

    Có nhiều widget khác nhau như button, canvas, checkbutton, entry,. chúng được sử dụng để xây dựng các ứng dụng GUI trong Python

    NoButtonMô tả1ButtonButton được sử dụng để thêm nhiều nút khác nhau vào ứng dụng python. 2CanvasCanvas được sử dụng để vẽ các hình trên cửa sổ. 3CheckbuttonCheckbutton được sử dụng để hiển thị CheckButton trên cửa sổ. 4EntryEntry được sử dụng để hiển thị trường văn bản một dòng cho người dùng. Nó thường được sử dụng để nhập các giá trị của người dùng. 5FrameFrame có thể được định nghĩa là một vùng chứa mà có thể chứa một hoặc nhiều tiện ích con khác. 6LabelLabel là một văn bản được sử dụng để hiển thị một số thông báo hoặc thông tin cho các widget khác. 7ListBoxListBox được sử dụng để hiển thị danh sách các tùy chọn cho người dùng. 8MenubuttonMenubutton được sử dụng để hiển thị các mục menu cho người dùng. 9MenuMenu được sử dụng để bổ sung các menu mục cho người dùng. 10MessageMessage được sử dụng để hiển thị hộp tin nhắn cho người dùng. 11RadiobuttonNgười dùng được cung cấp các tùy chọn khác nhau và người dùng chỉ có thể chọn một tùy chọn trong số đó. 12ScaleNó được sử dụng để cung cấp thanh trượt cho người dùng. 13Scrollbar Nó cung cấp thanh cuộn cho người dùng để người dùng có thể cuộn cửa sổ lên và xuống. 14Văn bản Nó khác với Mục nhập vì nó cung cấp một trường văn bản nhiều dòng cho người dùng để người dùng có thể viết văn bản và chỉnh sửa văn bản bên trong nó. 15Toplevel Nó được sử dụng để tạo một vùng chứa các cửa sổ riêng biệt. 16Spinbox Nó là một mục nhập widget được sử dụng để chọn từ các tùy chọn của các giá trị. 17PanedWindowNó giống như một thùng chứa widget chứa các ô ngang hoặc dọc. 18LabelFrameLabelFrame là một vùng widget chứa hoạt động như một vùng chứa. 18MessageBox Nó được sử dụng để hiển thị hộp thông báo trong các ứng dụng máy tính để bàn

    Bố cục cục bộ trong Python Tkinter

    Python Tkinter cung cấp các phương thức để bố trí các widget sau

    1. Phương thức pack[]
    2. Phương thức grid[]
    3. Phương thức place[]

    Phương thức pack[] trong Python Tkinter

    Phương thức pack[] được sử dụng để tổ chức widget theo khối. Vị trí các tiện ích được thêm vào ứng dụng python bằng phương thức pack[] có thể được kiểm tra bằng cách sử dụng các tùy chọn khác nhau được chỉ định trong lệnh gọi phương thức

    cú pháp

    widget.pack[options]
    

    Các tùy chọn [options]

    • mở rộng. Nếu mở rộng là đúng thì tiện ích mở rộng sẽ mở rộng để lấp đầy khoảng trống
    • Lấp đầy. Xác định xem tiện ích con có đầy đủ bất kỳ không gian thừa nào làm gói đóng gói phân bổ cho nó hay không hoặc giữ nguyên kích thước tối thiểu của riêng nó. NONE[default], X [chỉ điền theo chiều ngang], Y [chỉ điền theo chiều dọc] hoặc BOTH [điền theo cả chiều ngang và chiều dọc ]
    • cạnh. Nó giúp xác định vị trí của widget so với widget cha

    Ví dụ

    from tkinter import *
    parent = Tk[]
    
    redbutton = Button[parent, text = "Red", fg = "red"]
    redbutton.pack[side = LEFT]
    greenbutton = Button[parent, text = "Black", fg = "black"]
    greenbutton.pack[side = RIGHT]
    bluebutton = Button[parent, text = "Blue", fg = "blue"]
    bluebutton.pack[side = TOP]
    blackbutton = Button[parent, text = "Green", fg = "green"]
    blackbutton.pack[side = BOTTOM]
    parent.mainloop[]
    

    Kết quả

    Phương thức grid[] trong Python Tkinter

    Trình quản lý layout grid[] sắp xếp các widget ở dạng bảng. We can only only the rows and column. Chúng ta cũng có thể chỉ định khoảng cột [chiều rộng] hoặc chiều dài hàng [chiều cao] của widget con

    Đây là một cách có tổ chức hơn để đặt các widget vào ứng dụng python. Cú pháp sử dụng phương thức grid[] được đưa ra dưới đây

Chủ Đề