我想创建一个图形用户界面.有两个主要的下拉菜单.第一个用户 Select 课程的位置.第二种,用户 Select 一个数字,代码生成与 Select 数字对应的新的下拉菜单/菜单.代码运行正常,但第二个下拉菜单有问题.当我 Select 一个数字时,生成新的下拉菜单,但下拉菜单中我从右移 Select 一个数字.我想把它钉在第一个下拉菜单的旁边.有谁能帮帮我吗?非常感谢.
(粘性不起作用)
以下是代码.
import tkinter as tk
from tkinter import ttk
def on_dropdown_change(event):
selected_value = int(dropdown_var.get())
create_extra_dropdowns(selected_value)
def create_extra_dropdowns(count):
for widget in extra_dropdown_frame.winfo_children():
widget.destroy()
for k, parameter in enumerate(parameters_list):
# Create a checkbox for each parameter and associate it with the corresponding IntVar
parameter_label = tk.Label(extra_dropdown_frame, text=parameter, width=10, anchor="w")
parameter_label.grid(row=k+2, column=0, padx=1, pady=1, sticky="w")
for i in range(count):
dropdown_var = tk.StringVar()
dropdown = ttk.Combobox(extra_dropdown_frame, textvariable=dropdown_var,width=7, values=["MT1", "MT2", "LAB", "QUIZ", "HW", "PROJE", "FİNAL"])
dropdown.grid(row=0, column=i+1, padx=1, pady=1,sticky="w")
# Her bir dropdown için 15 Entry Box eklemek
for j in range(15):
entry_var = tk.StringVar()
entry_box = tk.Entry(extra_dropdown_frame, textvariable=entry_var,width=5)
entry_box.grid(row=j+2, column=i+1, padx=5, pady=1,)
def main():
global dropdown_var
global extra_dropdown_frame
global parameters_list
global root
root = tk.Tk()
root.title("Dropdown ve Entry Örneği")
root.geometry("1200x650")
parameters1 = ["Signal and Systems", "Calculus1", "Calculus2", "Circuit Analysis", "Digital Systems 1"]
dersler_parameter1 = tk.StringVar()
dersler_parameter1.set("Dersler") # Set the default value
dersler_box1 = tk.OptionMenu(root, dersler_parameter1, *parameters1)
dersler_box1.grid(row=0, column=0,padx=10, pady=10,sticky="w")
# Ana dropdown oluşturma
dropdown_var = tk.StringVar()
dropdown = ttk.Combobox(root, textvariable=dropdown_var,width=5, values=[1, 2, 3, 4, 5, 6, 7])
dropdown.grid(row=0, column=2, pady=1,sticky="w")
dropdown.bind("<<ComboboxSelected>>", on_dropdown_change)
parameters_list = ["ÖÇ1 :", "ÖÇ2 :", "ÖÇ3 :", "ÖÇ4 :", "ÖÇ5 :", "ÖÇ6 :",
"ÖÇ7 :", "ÖÇ8 :", "ÖÇ9 :", "ÖÇ10 :", "ÖÇ11 :",
"ÖÇ12 :", "ÖÇ13 :", "ÖÇ14 :", "ÖÇ15 :",]
extra_dropdown_frame = tk.Frame(root)
extra_dropdown_frame.grid(row=1, column=0, padx=10, pady=10)
root.mainloop()
if __name__ == "__main__":
main()
我试了试粘性的,但不起作用.