PYTHON中是否有任何函数可以根据combobox值的变化来更改屏幕框架

2024-09-19 23:41:42 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here

我试图在python-tkinter中更改combobox的值时更改屏幕,我尝试使用if条件,但无法获得输出,因为有三个不同的帧,我的代码如下,有人可以帮助我吗

 #=====================================combo frame==============================================
            comboFrame=Frame(MainFrame,bd=5,width=785,height=100,padx=10,pady=20,relief=GROOVE)
            comboFrame.grid(row=1,column=0)
     #===========================COMBO BOX ======================================================
            label = ttk.Label(comboFrame,text="Please select a Prime:",font=('arial',15,'bold'))
            label.place(x=0,y=15)
            
            
            PRIME=['CIVIL','CONTROL SYSTEM','ELECTRICAL','MECHANICAL','PIPING']
            
            selected_month = tk.StringVar()
            
            def clea(event):
                topframe.clear()
            
            def combo_event(event):
                prime=selected_month.get()                

                if prime ==PRIME[0]:
                    PRIME_COM.bind('<<ComboboxSelected>>',topframe1)

                if prime ==PRIME[1]:
                    PRIME_COM.bind('<<ComboboxSelected>>',topframe2) 

                if prime ==PRIME[2]:
                    PRIME_COM.bind('<<ComboboxSelected>>',topframe3)
            
            PRIME_COM = ttk.Combobox(comboFrame, textvariable=selected_month,width=29,font=('arial',12,'bold'),state='readonly')
            PRIME_COM['values'] = PRIME
            PRIME_COM.set("Please select The Prime")
            PRIME_COM.place(x=300,y=15)
            
            PRIME_COM.bind('<<ComboboxSelected>>',combo_event )

Tags: comeventifbindwidthprimelabelselected