簡體   English   中英

Tkinter 如何對動態添加的按鈕進行排序

[英]Tkinter how to sort dynamically added buttons

我正在嘗試在 customtkinter 中創建一個彈出窗口 window,其中包含動態添加的復選框(這會創建 80 個復選框)。

def open_secondary_window(self):
    # Create secondary (or popup) window.
    secondary_window = customtkinter.CTkToplevel()
    secondary_window.geometry(f"{400}x{200}")        
    secondary_window.title("Object Selection")
    
    # Create a button to close (destroy) this window.
    for i in range(len(class_names)): 
        c = customtkinter.CTkCheckBox(secondary_window, text=class_names[i])
        c.pack()
            
    button_close = customtkinter.CTkButton(
    secondary_window,
    text="Close window",
    command=secondary_window.destroy)
    button_close.place(x=75, y=75)`

這是結果

我想做的是遍歷復選框列表,每隔 10 到 go 到一個新列:

for i in range(len(class_names)): 
    c = customtkinter.CTkCheckBox(secondary_window, text=class_names[i])
    c.grid(row=i, column=0)

困難的部分是我不知道如何在每 10 列之后迭代以從第 0 行和第 +1 列開始

有誰知道如何處理這個問題的更好解決方案

在此處輸入圖像描述

您可以使用 python 的divmod function 將 integer 轉換為行和列。

for i in range(80):
    column, row = divmod(i, 10)
    cb = ctk.CTkCheckBox(root, text=f"{i+1}")
    cb.grid(row=row, column=column, sticky="nsew")

截屏

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM