gpt4 book ai didi

c++ - 如果作为参数传递,则打开文件,否则打开主应用程序菜单

转载 作者:行者123 更新时间:2023-11-30 05:03:39 25 4
gpt4 key购买 nike

我正在使用 QML 构建桌面应用程序,我想制作一个菜单(加载或创建新项目)然后加载主窗口(我正在使用 QQmlApplicationEngine 等等 ApplicationWindow 作为 root)。

但我想允许直接从存储在磁盘上的项目文件加载项目。所以如果 argc from main 大于 1,即有第二个参数,它是项目文件的路径,那么应用程序不加载菜单,而是直接加载 mainWindow。

所以我的问题是实现它的最佳方法是什么?我现在是用引擎的加载方法来做的,以及是否有菜单的if语句。

最佳答案

您可以将要下载的文件的路径设置为上下文属性。

然后在 onCompleted 中为 main.qml 检查有效路径,如果有 - 加载文件,如果没有,则加载主菜单。

你也可以在没有任何 C++ 的情况下完成它,在 QML 中你可以使用 Qt.application.arguments[index] 来直接访问任何传递的参数。

  Component.onCompleted: {
var args = Qt.application.arguments
if (args.length > 1) loadProject(args[1]) // presuming it checks path validity
else loadMenu()
}

关于c++ - 如果作为参数传递,则打开文件,否则打开主应用程序菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49327940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com