python读取 application_python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)...
class QApplication
QApplication(arg__1)
Parameters
arg__1 – list of strings
QApplication專為QGuiApplication提供基于QWidget的應(yīng)用程序所需的一些功能。 它處理小部件特定的初始化,完成。
對于任何使用Qt的GUI應(yīng)用程序,無論該應(yīng)用程序在任何給定時間有0、1、2或更多窗口,都只有一個QApplication對象。 對于基于非QWidget的Qt應(yīng)用程序,請改用QGuiApplication,因為它不依賴于QtWidgets庫。
一些GUI應(yīng)用程序提供了特殊的批處理模式,即。 提供用于執(zhí)行任務(wù)的命令行參數(shù),而無需人工干預(yù)。 在這種非GUI模式下,實例化一個普通的QCoreApplication通常足以避免不必要地初始化圖形用戶界面所需的資源。 以下示例顯示如何動態(tài)創(chuàng)建適當(dāng)類型的應(yīng)用程序?qū)嵗?#xff1a;
# -*- coding: utf-8 -*-
"""
@File : test2.py
@Time : 2020/4/2 11:36
@Author : Dontla
@Email : sxana@qq.com
@Software: PyCharm
"""
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QCoreApplication
def main():
useGUI = not '-no-gui' in sys.argv
app = QApplication(sys.argv) if useGUI else QCoreApplication(sys.argv)
print(app)
return app.exec_()
if __name__ == '__main__':
main()#
app = QApplication(sys.argv)加入sys.argv這么一個參數(shù)有什么用?sys.argv是一組命令行參數(shù)的列表。Python可以在shell里運行,這個參數(shù)提供對腳本控制的功能。這句解釋是官方教程中的,到底啥意思我現(xiàn)在也還不太懂。
Dontla:我也不太懂+1
可通過instance()函數(shù)訪問QApplication對象,該函數(shù)返回與全局qApp指針等效的指針。
QApplication的主要職責(zé)是:
它將使用用戶的桌面設(shè)置(例如:palette(),font()和doubleClickInterval())初始化應(yīng)用程序。萬一用戶全局更改桌面(例如通過某種控制面板),它會跟蹤這些屬性。
它執(zhí)行事件處理,這意味著它從底層窗口系統(tǒng)接收事件并將其分派到相關(guān)的小部件。通過使用sendEvent()和postEvent(),您可以將自己的事件發(fā)送到小部件。
它解析常見的命令行參數(shù)并相應(yīng)地設(shè)置其內(nèi)部狀態(tài)。有關(guān)更多詳細(xì)信息,請參見下面的構(gòu)造函數(shù)文檔。
它定義了應(yīng)用程序的外觀,并封裝在QStyle對象中。可以在運行時使用setStyle()進行更改。
它提供了對本地可見的字符串的本地化功能,這些字符串可以通過translate()看到。
它提供了一些神奇的對象,例如desktop()和剪貼板()。
它知道應(yīng)用程序的窗口。您可以使用widgetAt()詢問哪個小部件在某個位置,獲取topLevelWidgets()和closeAllWindows()的列表,等等。
它管理應(yīng)用程序的鼠標(biāo)光標(biāo)處理,請參見setOverrideCursor()
由于QApplication對象進行了大量初始化,因此必須在創(chuàng)建與用戶界面相關(guān)的任何其他對象之前創(chuàng)建它。 QApplication還處理常見的命令行參數(shù)。 因此,在應(yīng)用程序本身對argv進行任何解釋或修改之前,創(chuàng)建它通常是一個好主意。
功能組:
Groups
Functions
System settings
desktopSettingsAware() , setDesktopSettingsAware() , cursorFlashTime() , setCursorFlashTime() , doubleClickInterval() , setDoubleClickInterval() , setKeyboardInputInterval() , wheelScrollLines() , setWheelScrollLines() , palette() , setPalette() , font() , setFont() , fontMetrics() .
Event handling
exec() , processEvents() , exit() , quit() . sendEvent() , postEvent() , sendPostedEvents() , removePostedEvents() , hasPendingEvents() , notify() .
GUI Styles
style() , setStyle() .
Text handling
installTranslator() , removeTranslator() translate() .
Widgets
allWidgets() , topLevelWidgets() , desktop() , activePopupWidget() , activeModalWidget() , clipboard() , focusWidget() , activeWindow() , widgetAt() .
Advanced cursor handling
overrideCursor() , setOverrideCursor() , restoreOverrideCursor() .
Miscellaneous
closeAllWindows() , startingUp() , closingDown() .
后面是介紹這個類的各種方法的,太多,不看了!!!
介紹
PyQt5是一個大的模塊,是Qt在Python中的橋梁。
QtWidgets是PyQt5下面的一個模塊,包含了用于構(gòu)建界面的一系列UI元素組件。
QApplication是QtWidgets模塊下面的一個類。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv) # 實例化一個應(yīng)用對象
w = QWidget() # 窗口界面的基本控件,它提供了基本的應(yīng)用構(gòu)造器。默認(rèn)情況下,構(gòu)造器是沒有父級的,沒有父級的構(gòu)造器被稱為窗口(window)。Dontla 20200402 啥意思,沒看懂??
w.show() # 讓控件在桌面上顯示出來。控件在內(nèi)存里創(chuàng)建,之后才能在顯示器上顯示出來。
sys.exit(app.exec_()) # 確保主循環(huán)安全退出
運行結(jié)果:
原文鏈接:https://blog.csdn.net/Dontla/article/details/105251700
總結(jié)
以上是生活随笔為你收集整理的python读取 application_python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 命令构建gradle项目_【Androi
- 下一篇: centos mysql卸载重装_cen