以下是 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 输入方法
四、使用注意事项
- 参数解析时机 :
QApplication初始化时会解析这些参数,并从sys.argv中移除已识别的参数(因此后续代码无法获取这些参数)。 - 自定义参数 :如果需要自定义命令行参数,建议在
QApplication初始化之后解析(避免被 Qt 误判)。 - 版本差异 :Qt6 移除了部分 Qt5 过时参数(如
-graphicssystem),新增了-scale/-scaling等高 DPI 相关参数。 - 优先级 :代码中设置的属性(如
app.setStyle())优先级高于命令行参数。