日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取 application_python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)...

發(fā)布時間:2025/3/19 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取 application_python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

class QApplication

QApplication(arg__1)

Parameters

arg__1 – list of strings

QApplication專為QGuiApplication提供基于QWidget的應用程序所需的一些功能。 它處理小部件特定的初始化,完成。

對于任何使用Qt的GUI應用程序,無論該應用程序在任何給定時間有0、1、2或更多窗口,都只有一個QApplication對象。 對于基于非QWidget的Qt應用程序,請改用QGuiApplication,因為它不依賴于QtWidgets庫。

一些GUI應用程序提供了特殊的批處理模式,即。 提供用于執(zhí)行任務的命令行參數(shù),而無需人工干預。 在這種非GUI模式下,實例化一個普通的QCoreApplication通常足以避免不必要地初始化圖形用戶界面所需的資源。 以下示例顯示如何動態(tài)創(chuà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的主要職責是:

它將使用用戶的桌面設置(例如:palette(),font()和doubleClickInterval())初始化應用程序。萬一用戶全局更改桌面(例如通過某種控制面板),它會跟蹤這些屬性。

它執(zhí)行事件處理,這意味著它從底層窗口系統(tǒng)接收事件并將其分派到相關(guān)的小部件。通過使用sendEvent()和postEvent(),您可以將自己的事件發(fā)送到小部件。

它解析常見的命令行參數(shù)并相應地設置其內(nèi)部狀態(tài)。有關(guān)更多詳細信息,請參見下面的構(gòu)造函數(shù)文檔。

它定義了應用程序的外觀,并封裝在QStyle對象中。可以在運行時使用setStyle()進行更改。

它提供了對本地可見的字符串的本地化功能,這些字符串可以通過translate()看到。

它提供了一些神奇的對象,例如desktop()和剪貼板()。

它知道應用程序的窗口。您可以使用widgetAt()詢問哪個小部件在某個位置,獲取topLevelWidgets()和closeAllWindows()的列表,等等。

它管理應用程序的鼠標光標處理,請參見setOverrideCursor()

由于QApplication對象進行了大量初始化,因此必須在創(chuàng)建與用戶界面相關(guān)的任何其他對象之前創(chuàng)建它。 QApplication還處理常見的命令行參數(shù)。 因此,在應用程序本身對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) # 實例化一個應用對象

w = QWidget() # 窗口界面的基本控件,它提供了基本的應用構(gòu)造器。默認情況下,構(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。