簡體   English   中英

學習GUI python(PyQt4)

[英]learning GUI python (PyQt4)

我正在學習python,我是新手。

http://zetcode.com/gui/pyqt4/firstprograms/

從該網站,我需要幫助來了解代碼。

app = QtGui.QApplication(sys.argv)

我的問題如下

 app = QtGui.QApplication(sys.argv) 

在代碼中,似乎實際使用了app變量。 那為什么要分配呢? 它的目的是什么? 對我來說,w似乎是窗戶上的物體。。。我很困惑。

 if __name__ == '__main__': main() 

__name____main__來自哪里? 該if語句的功能是什么?

在頁面中,您引用自己:

每個PyQt4應用程序都必須創建一個應用程序對象。 該應用程序對象位於QtGui模塊中。 sys.argv參數是命令行中的參數列表。 可以從外殼運行Python腳本。 這是我們可以控制腳本啟動的方式。

您需要初始化QApplication對象,因為那是Qt處理所有環境的中心。 如果您想了解更多信息,請查看Qt的入門文檔(與整個項目一樣,不僅是PyQT)。

Regardin __name__ :這是基本的python東西; 它是加載模塊(在這種情況下,模塊是python文件)的名稱; __main__是當您直接運行python文件時(通過使其成為可執行文件並運行它,或者通過運行python pythonfile.py )而獲得的魔術值。

如果您嘗試在沒有此行的情況下運行,則會找到答案:如果沒有首先存在該應用程序對象,則無法創建任何GUI組件(在這種情況下,即窗口)。

簡而言之,它是所有其他Qt gui對象所在的主對象,並且它控制事件循環。 您可以通過exec_()調用啟動事件循環,該調用告訴應用程序對象使用迄今為止為它定義的所有內容來運行。

if __name__ == "__main__": 
    # do something 

是測試腳本是作為“ main”運行還是作為模塊導入的通用代碼塊。 如果此代碼是由另一個腳本導入的,則此塊將不會運行。

暫無
暫無

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

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