QT,sys.argv支持的核心内置参数

以下是 Qt 官方文档中定义的核心内置参数(适用于 PySide6/PyQt6,Qt 5/6 通用,部分参数版本有差异):

一、核心通用参数

参数 作用 示例
-style <样式名> 指定应用程序的样式(如 fusion、windows、macintosh 等) -style fusion
-stylesheet <文件路径/字符串> 加载全局 QSS 样式表(支持文件路径或直接传入样式字符串) -stylesheet ./style.qss
-stylevariant <变体> 样式变体(仅部分样式支持,如 windows 样式的 normal/highcontrast -stylevariant highcontrast
-platform <平台插件> 指定 Qt 平台插件(控制窗口系统适配) -platform windows(Windows)、-platform cocoa(macOS)、-platform xcb(Linux)
-platformpluginpath <路径> 指定平台插件的搜索路径 -platformpluginpath ./plugins/platforms
-plugin <插件名> 加载指定的 Qt 插件 -plugin sqldrivers/sqlite
-qmljsdebugger <参数> 启用 QML/JS 调试器(如端口、等待连接等) -qmljsdebugger port:1234,block
-translation <翻译文件> 加载 Qt 内置字符串的翻译文件(影响 Qt 自身控件的文本) -translation ./qt_zh_CN.qm
-lang <语言代码> 设置应用程序的默认语言(优先级低于系统语言) -lang zh_CN
-dir <工作目录> 设置应用程序的工作目录 -dir /home/user/app
-display <显示ID> (Linux/X11)指定显示设备(如 X11 的 :0.0) -display :0.0
-geometry <宽x高+x+y> 设置主窗口的初始几何尺寸(宽、高、x 坐标、y 坐标) -geometry 800x600+100+100
-font <字体参数> 设置应用程序默认字体(格式:[家族],[大小],[粗体],[斜体] -font "Microsoft YaHei,12,bold,italic"
-icon <图标文件> 设置应用程序的默认图标 -icon ./app.ico
-reverse 启用布局的反向模式(适配从右到左的语言,如阿拉伯语) -reverse
-no-svg 禁用 SVG 支持 -no-svg
-graphicssystem <后端> (Qt5 废弃,Qt6 移除)指定图形渲染后端(如 raster/opengl) -graphicssystem opengl
-opengl <模式> 指定 OpenGL 模式(desktop/angle/software) -opengl angle
-dpi <数值> 设置应用程序的 DPI 缩放(Qt6 推荐用 -scale -dpi 144
-scale <缩放因子> (Qt6)设置全局缩放因子(浮点数,如 1.5) -scale 1.25
-scaling <策略> (Qt6)DPI 缩放策略(off/auto/round/ceil/floor) -scaling auto

二、调试 / 开发相关参数

参数 作用
-verbose 启用详细日志输出(部分模块生效)
-qmldebug <参数> -qmljsdebugger,简化版
-no-gpu 禁用 GPU 加速(强制软件渲染)
-no-native-gestures 禁用原生手势支持
-force-high-dpi-scaling 强制启用高 DPI 缩放(Qt5 兼容)
-ignore-gpu-blacklist 忽略 GPU 黑名单(强制使用 GPU 渲染)

三、平台专属参数

Windows
  • -console:强制显示控制台窗口(即使是 GUI 程序)
  • -no-taskbar-icon:禁用任务栏图标
  • -high-dpi-aware:标记应用为高 DPI 感知
macOS
  • -native-menubar:使用原生菜单栏
  • -no-quartz:禁用 Quartz 渲染
  • -fullscreen:启动时全屏
Linux (X11/Wayland)
  • -xcb:强制使用 XCB 后端
  • -wayland:强制使用 Wayland 后端
  • -no-xshm:禁用 X Shared Memory 扩展
  • -xim:启用 X 输入方法

四、使用注意事项

  1. 参数解析时机QApplication 初始化时会解析这些参数,并从 sys.argv 中移除已识别的参数(因此后续代码无法获取这些参数)。
  2. 自定义参数 :如果需要自定义命令行参数,建议在 QApplication 初始化之后解析(避免被 Qt 误判)。
  3. 版本差异 :Qt6 移除了部分 Qt5 过时参数(如 -graphicssystem),新增了 -scale/-scaling 等高 DPI 相关参数。
  4. 优先级 :代码中设置的属性(如 app.setStyle())优先级高于命令行参数。
相关推荐
superman超哥2 小时前
仓颉语言中循环语句(for/while)的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
冷雨夜中漫步2 小时前
Java类加载机制——双亲委派与自定义类加载器
java·开发语言·python
拾忆,想起2 小时前
单例模式深度解析:如何确保一个类只有一个实例
前端·javascript·python·微服务·单例模式·性能优化·dubbo
癫狂的兔子2 小时前
【Python】【NumPy】学习笔记
python·学习·numpy
Kurbaneli2 小时前
Python的起源与发展
python
540_5402 小时前
ADVANCE Day26
人工智能·python·机器学习
dazzle2 小时前
Python高级技巧:装饰器全面指南,从基础到高级应用
python
南_山无梅落2 小时前
11.Python 常用数据类型「增删改查」操作总结表格
python
wenxiaohai1232 小时前
在anaconda中安装cuda-pytorch
人工智能·pytorch·python·anaconda