qt - QtQuick 获取基本表单尺寸
问题描述
我的问题很简单,因为我对 qml 和 qtquick 很陌生:我试图在所有窗口几何图形上显示 QtQuick TabView,但没有出现任何窗口/窗体/小部件,我想知道为什么
//main.cpp
#include <Qt3DQuickExtras/qt3dquickwindow.h>
#include <QGuiApplication>
#include <QScreen>
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
Qt3DExtras::Quick::Qt3DQuickWindow view;
view.setSource(QUrl("qrc:/qmain"));
view.setWindowState(Qt::WindowMaximized);
QScreen *s = QGuiApplication::screens().at(0);
view.setGeometry(s->availableGeometry());
view.show();
return app.exec();
}
/*=====
qml file
=====*/
import QtQuick 2.3
import QtQuick.Scene2D 2.9
import QtQuick.Controls 1.4 as ctrl1
import QtQuick.Layouts 1.2
import QtQuick.Controls 2.5 as ctrl2
Item {
id: root
visible: true
anchors.fill: parent
width: offscreenTexture.width
height: offscreenTexture.height
ctrl1.TabView{
id: tabView
anchors.left: parent
ctrl1.Tab{
id: tabPlanDef
title: "Loadplan def."
}
ctrl1.Tab{
id: tabObjMng
title: "Object Manager"
}
ctrl1.Tab{
id: tabDataTbl
title: "Data Table"
}
}
}
解决方案
您的示例不完整且不可重复。不过我可能解决了你的问题。
您必须使用更新版本的 QtQuick。
import QtQuick 2.11
Ctrl1
必须以大写开头。import QtQuick.Controls 1.4 as Ctrl1
完整的qml代码:
import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Scene2D 2.9
import QtQuick.Controls 1.4 as Ctrl1
import QtQuick.Layouts 1.2
Window {
visible: true
width: 640
height: 480
Item {
id: root
visible: true
anchors.fill: parent
Ctrl1.TabView{
id: tabView
anchors.fill: parent
Ctrl1.Tab{
id: tabPlanDef
title: "Loadplan def."
}
Ctrl1.Tab{
id: tabObjMng
title: "Object Manager"
}
Ctrl1.Tab{
id: tabDataTbl
title: "Data Table"
}
}
}
}
推荐阅读
- python - 登录页面上的 Django-LDAP 身份验证
- reactjs - 将 localStorage.getItem() 与打字稿一起使用
- android - 无法点击 FAB 按钮的下半部分(与 CustomBottomNavigationBar 结合使用)
- javascript - Babel 忽略 IE6 目标?
- python - 如何使用open cv python计算水平线的数量?
- php - 正则表达式匹配字符串的不同变体?
- r - 通过厨师距离和 lm 模型去除异常值
- flutter - 错误:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:类型“double”不是类型转换中“String”类型的子类型
- python - 在 doc2vec 的正确答案中
- postgresql - 将 .sql 文件导入特定模式(不在公共模式中)PostgreSQL 12