Cách tạo lưới trong Python

nhập matplotlib. pyplot dưới dạng plt

x = np. mảng[[80, 82, 90, 95, 100, 103, 110, 115, 120, 125]]

y = n p. mảng[[240, 250, 264, 270, 280, 290, 294, 310, 320, 330]]

plt. tiêu đề ["Biểu đồ sức khỏe"]

plt. xlabel["Người bình thường"]

plt. ylabel["Tiêu thụ calo"]

plt. grid[color = 'vàng', linestyle = '--', linewidth = 1. 5]

Thư viện Tkinter của Python có một số công cụ để quản lý kích thước của các widget trong các ứng dụng dựa trên GUI. Những công cụ này được gọi là trình quản lý hình học. Trình quản lý lưới là một trong những công cụ này. Nó có nhiều tính linh hoạt và tùy biến hơn so với thường được sử dụng. trình quản lý pack[]. Chúng ta sẽ học cách sử dụng. trình quản lý hình học grid[] trong hướng dẫn lập trình Python hôm nay

Đọc. Cách tạo ứng dụng GUI Python đầu tiên của bạn

Cách tạo lưới trong Tkinter và Python

Để tạo lưới, bạn cần sử dụng. phương thức lưới []. Phương pháp này có thể được sử dụng trên cả cửa sổ và khung

Phương thức grid[] cho phép bạn chỉ định vị trí hàng và cột trong danh sách tham số của nó. Cả hàng và cột bắt đầu từ chỉ số 0. Ví dụ lưới[hàng=1, cột=2] chỉ định một vị trí trên cột thứ ba và hàng thứ hai của khung hoặc cửa sổ của bạn

Ví dụ mã Python bên dưới cho thấy cách bạn có thể lấy hình ảnh lưới ở trên

import tkinter as tk
 
window = tk.Tk[]
window.title["Grid Manager"]
 
for x in range[2]:
   for y in range[2]:
       frame = tk.Frame[
           master=window,
           relief=tk.RAISED,
           borderwidth=1
       ]
       frame.grid[row=x, column=y]  # line 13
       label = tk.Label[master=frame, text=f"\n\nrow {x}\t\t column {y}\n\n"]
       label.pack[]
 
window.mainloop[]
 

Đọc. Cách tạo Widget văn bản trong Python với Tkinter

Cách thêm phần đệm vào lưới Tkinter

Bạn có thể nhận thấy rằng các khung trong ví dụ trước hơi quá gần nhau. Bạn có thể thêm một số khoảng trống giữa các khung này thông qua một phương pháp được gọi là phần đệm

Có hai loại đệm. bên ngoài và bên trong. Phần đệm bên ngoài cho phép bạn đặt khoảng trống ở giữa bên ngoài các vật dụng. Bạn có thể thực hiện nó bằng cách sử dụng hai biến padx và pady. Padx chèn không gian theo chiều ngang, trong khi pady chèn không gian theo chiều dọc. Hai giá trị này được đo bằng pixel

Ví dụ: trong ví dụ mã trước đó, bạn có thể tạo khoảng cách bằng nhau theo một trong hai hướng bằng mã bên dưới

frame.grid[row=x, column=y padx=10 pady=10]  # line 13

Tự động thay đổi kích thước lưới Tkinter

Nếu bạn cố gắng điều chỉnh cửa sổ đã tạo trong ví dụ trước, bạn sẽ nhận thấy rằng lưới vẫn ở góc trên cùng bên trái và không phản hồi với việc thay đổi kích thước cửa sổ. Bạn có thể đảm bảo rằng lưới của bạn được tự động thay đổi kích thước với cửa sổ bằng cách sử dụng các phương thức columnconfigure[] và rowconfigure[]. Các phương pháp này áp dụng cho đối tượng cửa sổ

Phương thức columnconfigure[] thay đổi kích thước lưới theo chiều dọc, trong khi rowconfigure[] thay đổi kích thước lưới theo chiều ngang. Cả hai phương thức này đều có 3 đối số

  • Chỉ mục hàng/cột
  • thu nhỏ. Điều này xác định kích thước tối thiểu của widget. Điều này là cần thiết cho các mục đích dễ đọc, để thay đổi kích thước nhỏ nhất có thể vẫn có thể đọc được một cách hợp lý
  • trọng lượng. Đây là thước đo tỷ lệ thay đổi kích thước của một cột hoặc hàng so với các cột hoặc hàng khác. Ví dụ: trọng số là 1 có nghĩa là một cột hoặc hàng thay đổi kích thước với cùng tốc độ với các cột hoặc hàng khác. Trọng số là 3 có nghĩa là một hàng hoặc cột thay đổi kích thước với tốc độ gấp ba lần so với các hàng hoặc cột khác. Theo mặc định, trường này được đặt thành 0, ngụ ý rằng một hàng hoặc cột không thay đổi kích thước khi cửa sổ thay đổi kích thước

Xem ví dụ mã bên dưới

import tkinter as tk
 
window = tk.Tk[]
window.title["Grid Manager"]
 
for x in range[2]:
   window.columnconfigure[x, weight=1, minsize=100]
   window.rowconfigure[x, weight=1, minsize=75]
   for y in range[2]:
       frame = tk.Frame[
           master=window,
           relief=tk.RAISED,
           borderwidth=1
       ]
       frame.grid[row=x, column=y, padx=10, pady=10]  # line 13
       label = tk.Label[master=frame, text=f"row {x}\ncolumn {y}"]
       label.pack[]
 
window.mainloop[]

Đọc. Các khóa học trực tuyến hàng đầu để học Python

Tóm tắt Trình quản lý lưới của Tkinter

Trình quản lý lưới Tkinter cho phép bạn định vị các vật dụng của mình. Hãy nhớ rằng trong trường hợp bạn muốn tạo khoảng cách cho các vật dụng của mình, trong trường hợp đó, bạn cần áp dụng phần đệm

Để thay đổi kích thước động của lưới Tkinter, các nhà phát triển Python cần sử dụng các phương thức columnconfigure[] và rowconfigure[]. Điều quan trọng cần nhớ là các phương thức này áp dụng cho đối tượng cửa sổ chứ không phải grid[]

Có thể tạo bố cục này bằng trình quản lý gói, nhưng phải mất một số tiện ích khung bổ sung và rất nhiều công việc để làm cho mọi thứ trông đẹp mắt. Thay vào đó, nếu bạn sử dụng trình quản lý lưới, bạn chỉ cần một cuộc gọi cho mỗi tiện ích để sắp xếp mọi thứ đúng cách. Sử dụng trình quản lý lưới thật dễ dàng. Chỉ cần tạo các tiện ích và sử dụng phương thức lưới để báo cho người quản lý biết hàng và cột nào sẽ đặt chúng. Bạn không cần phải chỉ định trước kích thước của lưới; .  

Mã số 1.  

Python3




# import tkinter module

from tkinterimport * from tkinter.ttkimport *

 

frame.grid[row=x, column=y padx=10 pady=10]  # line 13
2

from0from1 from2

 

from3

from4from1 from6from1 from8

from9from1 from6from1 tkinter3

 

tkinter4

tkinter5

tkinter6from1 tkinter8tkinter9from1 tkinter8import2from1 import4from1 import6import7

import8from1 *0tkinter9from1 tkinter8import2from1 import4from1 import6import7

 

from0

from1from1 from3

from4from1 from3

 

from7

from8from1 tkinter8tkinter9from1 *0tkinter.ttk4from1 import6import7

tkinter.ttk8from1 *0tkinter9from1 *0tkinter.ttk4from1 import6import7

 

import8

import9

*0

đầu ra

 

  

Mã số 2. Tạo bố cục được hiển thị ở trên.  

Python3




# import tkinter module

from tkinterimport * from tkinter.ttkimport *

 

frame.grid[row=x, column=y padx=10 pady=10]  # line 13
2

from0from1 from2

 

from3

from4from1 from6from1

frame.grid[row=x, column=y padx=10 pady=10]  # line 13
29

from9from1 from6from1 from04

 

tkinter4

tkinter5

tkinter6from1 tkinter8tkinter9from1 tkinter8import2from1 import4from1 import6import7

import8from1 *0tkinter9from1 tkinter8import2from1 import4from1 import6import7

 

from0

from1from1 from3

from4from1 from3

 

from7

from8from1 tkinter8tkinter9from1 *0tkinter.ttk4from1 import6import7

tkinter.ttk8from1 *0tkinter9from1 *0tkinter.ttk4from1 import6import7

 

from59

from60from1 from62from1 from64

from65from1 import6_______59from1 tkinter8import2from1 from73from1 import6import7

 

from77

from78from1 from80from81 from1 from83

from84______41 from86import6from88import6import7

 

from91

from92_______41 from94from1 tkinter8____59from1 import6from88

tkinter01tkinter02from1 import6tkinter05from1 import6tkinter08from1 tkinter10tkinter.ttk4from1 tkinter10import7

Làm cách nào để vẽ lưới trong Python?

Các bước sau được sử dụng. .
rùa nhập khẩu
Đặt màn hình
làm con rùa
Vẽ các đường trục y
Vẽ các đường trục x
Vẽ trục x và trục y có ghi nhãn

Bảng trong Python là gì?

Bảng là bảng n chiều, bất kỳ kích thước nào cũng có thể có kích thước vô hạn . [Vì vậy, nếu bạn có 3 chiều vô hạn, bạn có cơ sở cho bố cục Minecraft]. Thứ nguyên là số không và các chỉ mục tiêu cực hoạt động như chúng thường làm trong Python. làm việc từ cuối chiều ngược lại.

Chủ Đề