Nhập lưới Python

Tôi không chắc rằng tôi hiểu câu hỏi của bạn, vì với bố cục

label_object.grid[row, col]
1, bạn đang đặt 'đồng xu' ở một vị trí đã định theo chương trình, vì vậy bạn 'biết' nó ở đâu, do đó bạn không cần phải 'tìm' nó

Đây là một minh chứng rất đơn giản

# import tkinter module
from tkinter import *

# create the board
board = Tk[]

# create the labels
l0 = Label[board, text = " 0 "]
l1 = Label[board, text = " 1 "]
l2 = Label[board, text = " 2 "]
l3 = Label[board, text = " 3 "]
l4 = Label[board, text = " 4 "]
l5 = Label[board, text = " 5 "]

# create the coin
coin = Label[board, text = "C"]

# grid the labels
l0.grid[row = 0, column = 0]
l1.grid[row = 1, column = 0]
l2.grid[row = 2, column = 0]
l3.grid[row = 3, column = 0]
l4.grid[row = 4, column = 0]
l5.grid[row = 5, column = 0]

position = input["Where do you want the coin placed? "]

# grid the coin
coin.grid[row = position, column = 0]

print["The coin is in row",position]

mainloop[]

Chào mọi người. Trong phần hướng dẫn trước của chúng tôi về Tkinter, chúng tôi đã đề cập đến tiện ích văn bản Tkinter. Bây giờ hãy xem một ví dụ về việc sử dụng trình quản lý Tkinter Grid

Tuy nhiên, bạn có thể có câu hỏi muốn hỏi, đặc biệt là sau khi thấy nhiều người sử dụng trình quản lý

label_object.grid[row, col]
0

Tại sao nên sử dụng Trình quản lý lưới Tkinter?

Trong các hướng dẫn trước của chúng tôi, chúng tôi đã sử dụng trình quản lý hình học gói để quản lý hình học của ứng dụng của chúng tôi. Nhưng làm cho nó hoạt động trơn tru với nhiều đối tượng là một nhiệm vụ khó khăn

Do đó, Tkinter đã giới thiệu các trình quản lý đóng gói khác để giúp cuộc sống của chúng tôi dễ dàng hơn một chút và cũng có thể linh hoạt khi sử dụng những gì

Trình quản lý lưới Tkinter thực sự là dễ học nhất và được khuyên dùng nhất nếu bạn bắt đầu xây dựng các ứng dụng Tkinter

Bây giờ chúng ta đã hiểu điều này, hãy chuyển sang thực sự sử dụng Trình quản lý lưới trong ứng dụng của chúng ta

GHI CHÚ. Không bao giờ sử dụng nhiều trình quản lý đóng gói trong cùng một ứng dụng Tkinter. Điều này sẽ gây ra các lỗi ngoài ý muốn và không được khuyến khích chút nào. Chỉ sử dụng một trình quản lý đóng gói cho một ứng dụng

Sử dụng Trình quản lý hình học lưới Tkinter

Hãy thiết kế bố cục bên dưới bằng Trình quản lý lưới

Cách trình bày

Bố cục này sẽ có hai tiện ích nhập, có nhãn cho mỗi tiện ích và tiện ích nút bên dưới

Chúng tôi cũng sẽ thêm một hình ảnh ở bên phải và một tiện ích nút cho hình ảnh nữa

Mặc dù loại bố cục này khó quản lý bằng cách sử dụng

label_object.grid[row, col]
0, nhưng chúng tôi có thể dễ dàng thực hiện điều này bằng cách sử dụng
label_object.grid[row, col]
2

Các bước đủ đơn giản. Chúng tôi chỉ cần tạo tất cả các tiện ích chúng tôi cần và nói với người quản lý

label_object.grid[row, col]
2 cách đặt chúng

Trước tiên chúng ta sẽ tạo đối tượng chính của mình

import tkinter as tk

master = tk.Tk[]

Bây giờ, trước tiên hãy tạo hai nhãn, vì chúng ta cần chúng ở phía bên trái nhất và yêu cầu người quản lý

label_object.grid[row, col]
2 đặt nhãn đó vào số hàng tương ứng

Chúng tôi cần các nhãn ở cột số 0, được lập chỉ mục theo số hàng 0 và 1. Sau khi tạo nhãn, chúng tôi có thể trực tiếp đóng gói chúng bằng cách sử dụng

label_object.grid[row, col]
2 bằng cách sử dụng

label_object.grid[row, col]

Vì vậy, chúng ta có thể trực tiếp viết nó như sau

tk.Label[master, text="Label 1"].grid[row=0, column=0]
tk.Label[master, text="Label 2"].grid[row=1, column=0]

Bây giờ hãy thêm một mục nhập cho mỗi trong hai nhãn

label_object.grid[row, col]
0

Chúng tôi đã tạo các đối tượng mục nhập, nhưng bây giờ, chúng tôi cần yêu cầu

label_object.grid[row, col]
2 đặt chúng vào vị trí tương ứng

Chỉ cần gọi

label_object.grid[row, col]
7. Điều này tương tự như gói, nhưng nhìn chung, sử dụng mượt mà hơn nhiều

label_object.grid[row, col]
3

Sau này, chúng ta có thể thêm vòng lặp chính tkinter của mình bằng cách sử dụng

label_object.grid[row, col]
8

Tôi sẽ đăng mã hoàn chỉnh cho đến thời điểm này

label_object.grid[row, col]
5

đầu ra

Mẫu lưới Tkinter

Ổn thỏa. Điều này dường như làm việc như mong đợi. Bây giờ, hãy thêm một nút vào nó, ngay bên dưới

label_object.grid[row, col]
6

Bây giờ, chúng tôi có mặt trái của chúng tôi được bảo hiểm

Hãy thêm hình ảnh và một nút khác vào bên phải

Như chúng ta đã thảo luận về các vấn đề hiển thị hình ảnh trong hướng dẫn trước, chúng ta phải giữ một tham chiếu đến đối tượng PhotoImage để tránh thu gom rác tự động

label_object.grid[row, col]
7

Cuối cùng, hãy thêm một nút ở dưới cùng

label_object.grid[row, col]
8

Bây giờ, tôi sẽ đăng chương trình hoàn chỉnh ở đây

label_object.grid[row, col]
9

đầu ra

Bố cục hoàn chỉnh của lưới Tkinter

Cuối cùng, chúng tôi đã hoàn thành bố cục của mình. Và nó đơn giản như việc tạo các vật dụng và yêu cầu

label_object.grid[row, col]
2 đặt chúng vào đúng vị trí của chúng

Phần kết luận

Trong hướng dẫn này, chúng ta đã học cách thêm widget vào ứng dụng Tkinter và thiết kế bố cục bằng Tkinter Grid Geometry Manager

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

Viết chương trình Python để tạo lưới 3X3 với các số. .
Giải pháp mẫu
Mã Python. nums = [] cho tôi trong phạm vi [3]. con số. nối thêm [[]] cho j trong phạm vi [1, 4]. số [i]. append[j] print["Lưới 3X3 với các số. "] in [số].
Trình bày bằng hình ảnh
Sơ đồ. .
Trình chỉnh sửa mã Python. .
Có một cách khác để giải quyết giải pháp này?

Bố cục lưới trong Python là gì?

GridLayout sắp xếp các phần tử con trong một ma trận . Nó lấy không gian có sẵn và chia nó thành các cột và hàng, sau đó thêm các tiện ích con vào các “ô” kết quả. Hàng và cột giống như chúng ta quan sát trong một ma trận, ở đây chúng ta có thể điều chỉnh kích thước của từng lưới.

Padx trong Python là gì?

padx , pady -- số lượng pixel xung quanh tiện ích con để tạo khoảng đệm giữa các tiện ích con khác, để đệm ngang hoặc dọc .

Sticky trong lưới Python là gì?

dính có thể là sự nối chuỗi bằng 0 hoặc nhiều hơn của N, E, S, W, NE, NW, SE và SW, hướng la bàn cho biết các cạnh và góc của . .

Chủ Đề