2012-12-02 146 views
1

所以我試圖調試這個源代碼(在Python中),我沒有寫有GUI(Kivy in particular,我試圖找出什麼代碼/事件正在觸發,當我點擊某些東西。我嘗試將斷點放在我認爲會被觸發的位置,但有時我發現我錯了,並且我想要的斷點似乎不會遇到。調試GUI應用程序的最佳方法(特別是在Python中)?

任何人都有任何建議用於GUI調試,並找出什麼是由某些事件觸發的,特別是在Python中?

+0

我沒有回答你的問題,但我只是在瀏覽reddit.com/r/learnpython,並看到有人向他的Udemy課程提供免費促銷代碼,在Python中開發GUI應用程序:http: //www.reddit.com/r/learnpython/comments/144b9e/hey_rlearnpython_ive_started_teaching_a_course_on/ – Ecnalyr

回答

0

如何將打印語句放入不同的函數(或事件處理程序)中打印函數的名稱,後跟參數函數收到了嗎?這應該讓我很清楚你使用GUI時發生了什麼。我通常是在我使用的這個詳細的輸出函數包print,如:

def verbose_print(message, *args): 
    if VERBOSE: 
     print message.format(*args) 

所以現在,在我的各種功能,我可以使用這樣的功能:

def do_something(param1, param2): 
    verbose_print('do_something({}, {})', param1, param2) 

    # Do some stuff... 

此外,您可以現在通過將模塊全局常量VERBOSE設置爲TrueFalse來打開和關閉詳細輸出,而不是刪除所有打印語句。

+1

這就是我現在要做的。我希望有一個更有效的方法。 – supercheetah

相關問題