簡體   English   中英

從 python 中的按鈕調用時無法使用全局變量

[英]unable to use global variable while calling from button in python

我無法在從 function 返回的 label 中使用全局變量 (count_task)。 我已經全局聲明了這個變量。 在使用代碼調用此 function 時,它會給出結果,但在通過按鈕調用時它不起作用。

global count_task

combo_user=ttk.Combobox(users_Frm,font=('arial',12),state='readonly')
combo_user['values']=(User_list_return())
combo_user.place(x=10,y=40,width=80,height=32)

user_tasks_lbl=Label(users_Frm,text="",font=('arial,bold',12),bg="#008B8B")
user_tasks_lbl.place(x=50,y=83, )
user_tasks_lbl['text']=count_task

user_tasks_show_Btn=Button(users_Frm, text="Show detail", 
                           command=toplevel, font=("arial,bold,10"))
user_tasks_show_Btn.place(x=180,y=40,width=150)

def user_task_count():
        global count_task
        count_task=dbf_user_task_count(combo_user.get())
        return count_task

user_tasks_sel_Btn=Button(users_Frm, text="Go", 
                          command=user_task_count, font=("arial,bold,10"))
user_tasks_sel_Btn.place(x=100,y=40,width=50)

聲明 count_task 時需要刪除global

count_task = 0在腳本的開頭。

然后 function user_task_count不需要報告任何事情,因為它用作command參數,即單擊關聯按鈕時要執行的回調。

def user_task_count():
        global count_task
        count_task=dbf_user_task_count(combo_user.get())
        # nothing you can return to the button

你寫的只是一個 function 計算按鈕 user_tasks_sel_Btn 被點擊的次數。 不確定這是您想要做的嗎?

暫無
暫無

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

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