【发布时间】:2014-06-26 06:03:43
【问题描述】:
我正在编写一个 QtQuick 桌面应用程序。我在其中同时使用 c++(用于功能)和 QML(用于 UI)。 我使用 QQuickView 来显示用 QML 编写的界面。
我希望此应用程序在最小化时驻留在系统托盘中。
我的意思是类似于此示例的功能。 http://qt-project.org/doc/qt-4.8/desktop-systray.html 。 我正在尝试实现此功能,但在我的 Qt Quick 应用程序中找不到实现此功能的方法。
这是我的 main.cpp 代码:
#include <QGuiApplication>
#include <QQmlEngine>
#include <QQmlContext>
#include <QQmlFileSelector>
#include <QQuickView>
#include "myapp.h"
int main(int argc, char* argv[])
{
QGuiApplication app(argc,argv);
app.setApplicationName(QFileInfo(app.applicationFilePath()).baseName());
QDir::setCurrent(qApp->applicationDirPath());
MyApp myappObject;
QQuickView view;
view.connect(view.engine(), SIGNAL(quit()), &app, SLOT(quit()));
view.rootContext()->setContextProperty("myappObject", &myappObject);
new QQmlFileSelector(view.engine(), &view);
view.setSource(QUrl("qrc:///myapp.qml"));
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.show();
return app.exec();
}
请提供任何提示/指针来帮助您执行此操作。
谢谢。
【问题讨论】:
-
你是想只用 QML 做这个,还是可以用 C++/Qt?
-
您好 BlueMagma,可以使用 C++/Qt。我的 UI 是使用 QML 创建的,我从 Qt main.cpp 文件启动它。我刚刚更新了我的问题中的 main.cpp 文件代码。