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

歡迎訪問 生活随笔!

生活随笔

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

python

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

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

官方文檔

class QApplication

QApplication(arg__1) Parametersarg__1 – list of strings

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

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

一些GUI應用程序提供了特殊的批處理模式,即。 提供用于執行任務的命令行參數,而無需人工干預。 在這種非GUI模式下,實例化一個普通的QCoreApplication通常足以避免不必要地初始化圖形用戶界面所需的資源。 以下示例顯示如何動態創建適當類型的應用程序實例:

# -*- 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 QCoreApplicationdef main():useGUI = not '-no-gui' in sys.argvapp = QApplication(sys.argv) if useGUI else QCoreApplication(sys.argv)print(app)return app.exec_()if __name__ == '__main__':main() # <PyQt5.QtWidgets.QApplication object at 0x000002859698D708>

app = QApplication(sys.argv)加入sys.argv這么一個參數有什么用?sys.argv是一組命令行參數的列表。Python可以在shell里運行,這個參數提供對腳本控制的功能。這句解釋是官方教程中的,到底啥意思我現在也還不太懂。

Dontla:我也不太懂+1

可通過instance()函數訪問QApplication對象,該函數返回與全局qApp指針等效的指針。
QApplication的主要職責是:

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

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

  • 它解析常見的命令行參數并相應地設置其內部狀態。有關更多詳細信息,請參見下面的構造函數文檔。

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

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

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

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

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

由于QApplication對象進行了大量初始化,因此必須在創建與用戶界面相關的任何其他對象之前創建它。 QApplication還處理常見的命令行參數。 因此,在應用程序本身對argv進行任何解釋或修改之前,創建它通常是一個好主意。

功能組:

GroupsFunctions
System settingsdesktopSettingsAware() , setDesktopSettingsAware() , cursorFlashTime() , setCursorFlashTime() , doubleClickInterval() , setDoubleClickInterval() , setKeyboardInputInterval() , wheelScrollLines() , setWheelScrollLines() , palette() , setPalette() , font() , setFont() , fontMetrics() .
Event handlingexec() , processEvents() , exit() , quit() . sendEvent() , postEvent() , sendPostedEvents() , removePostedEvents() , hasPendingEvents() , notify() .
GUI Stylesstyle() , setStyle() .
Text handlinginstallTranslator() , removeTranslator() translate() .
WidgetsallWidgets() , topLevelWidgets() , desktop() , activePopupWidget() , activeModalWidget() , clipboard() , focusWidget() , activeWindow() , widgetAt() .
Advanced cursor handlingoverrideCursor() , setOverrideCursor() , restoreOverrideCursor() .
MiscellaneouscloseAllWindows() , startingUp() , closingDown() .

后面是介紹這個類的各種方法的,太多,不看了!!!

介紹

PyQt5是一個大的模塊,是Qt在Python中的橋梁。

QtWidgets是PyQt5下面的一個模塊,包含了用于構建界面的一系列UI元素組件。

QApplication是QtWidgets模塊下面的一個類。

QtWidgets.QApplication基本用法

import sys from PyQt5.QtWidgets import QApplication, QWidgetapp = QApplication(sys.argv) # 實例化一個應用對象 w = QWidget() # 窗口界面的基本控件,它提供了基本的應用構造器。默認情況下,構造器是沒有父級的,沒有父級的構造器被稱為窗口(window)。Dontla 20200402 啥意思,沒看懂?? w.show() # 讓控件在桌面上顯示出來。控件在內存里創建,之后才能在顯示器上顯示出來。 sys.exit(app.exec_()) # 確保主循環安全退出

運行結果:

參考文章1:PyQT5.QtWidgets.QApplication結構及用法

參考文章2:Qt for Python 5.14.2 Qt for Python Documentation Qt Modules PySide2.QtWidgets QApplication

總結

以上是生活随笔為你收集整理的python PyQt5.QtWidgets.QApplication类(sys.argv)(app应用对象类)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。