从Qt快速控件加载下一个屏幕/应用程序窗口
Loading next Screen/ ApplicationWindow from Qt quick control 2
我对Qt快速控制2的开发非常陌生。我正在为android开发一个跨平台应用程序。我正在加载新的屏幕从c++代码如下
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
CommunicatorClass mCommunication;
engine.rootContext()->setContextProperty("CommunicatorClass", &mCommunication);
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
window->show();
return app.exec();
}
这将加载我的登录屏幕。一旦用户提交用户名,密码应用程序在c++代码中验证相同。因此,qml与c++之间的通信工作得很好。现在我想加载下一个屏幕时,用户名和密码得到验证。请指导我如何在这种情况下进行,因为我是非常新的c++和qt快速控制2
一个选项是从c++导出的对象上有一个指向"当前屏幕"的属性。main中的代码。qml然后可以使用Loader
来加载该屏幕。
在c++中看起来像这样:
class CommunicatorClass : public QObject
{
Q_OBJECT
Q_PROPERTY(QString currentScreen READ currentScreen NOTIFY currentScreenChanged);
public:
QString currentScreen() const;
signals:
void currentScreenChanged();
};
在QML中像这样:
Window {
Loader {
source: CommunicatorClass.currentScreen
}
}
假设currentScreen
属性指向一个相对于main.qml
相关文章:
- QT快速C++应用程序与多个屏幕
- Qt将应用程序与屏幕上的左上角对齐
- 如何在Qt Android应用程序上禁用屏幕保护程序
- 如何使用Qt读取我的应用程序屏幕像素数据
- 如何在C 编写的控制台应用程序中清除屏幕
- 在MFC C++应用程序中在屏幕上绘制点的最快方法
- 如何在预览窗口关闭后完成 SDL 屏幕保护程序应用程序
- 在win8登录屏幕上运行应用程序
- 使用C++在Windows 8中不固定到"开始屏幕"的应用程序快捷方式
- C++使用Qt库的应用程序在屏幕保护程序启动时停止工作
- 为什么DirectX全屏应用程序会提供黑色屏幕截图
- 控制台应用程序屏幕在 Visual c++ 6.0 中消失
- 屏幕保护程序应用程序在对话框关闭后未关闭
- 是否可以在本机 Windows 8.1 桌面应用程序中确定屏幕方向
- 使用属性表将向导定位在屏幕 win32 应用程序的中心
- C++应用程序在没有屏幕输出的情况下执行
- Qt Ui 应用程序屏幕方向
- 从N9上的应用程序屏幕恢复MeeGo Harmattan Qt应用程序
- 如何在 Linux 中创建可通过屏幕应用程序连接的 pty
- 从Qt快速控件加载下一个屏幕/应用程序窗口