QT QML 无法正确显示
QT QML is not displaying properly
我对使用 QT 相当陌生,并且在显示我在 .qml 文件中创建的应用程序窗口时遇到问题。我使用了QT youtube频道的教程作为起点。当我运行应用程序时,屏幕上确实会出现一个窗口,但是,它不是指定的维度,也不会反映 qml 中编写的内容(基于教程的结果)。我正在使用带有QT插件的VS2017,并且可以使用.ui文件显示按钮和窗口。我在这里的实现做错了什么?
QML:
import QtQuick 2.9
import QtQuick.Controls 2.3
import QtPositioning 5.12
import QtLocation 5.12
import QtQuick.Layouts 1.3
import QtQuick.Window 2.2
ApplicationWindow
{
id: root
width : 700
height : 700
visible : true
title: qsTr("Hello World")
Action
{
id: actionNew
text: qsTr("&New")
shortcut: StandardKey.New
icon.name: "document-new"
onTriggered: area.placeholderText = "To do = New"
}
Action
{
id: actionOpen
text: qsTr("&Open")
shortcut: StandardKey.Open
icon.name: "document-Open"
onTriggered: area.placeholderText = "To do - Open"
}
Action
{
id: actionSave
text: qsTr("&Save")
shortcut: StandardKey.Save
icon.name: "document-Save"
onTriggered: area.placeholderText = "To do - Save"
}
menuBar: MenuBar
{
Menu
{
title: "File"
MenuItem {action: actionNew}
MenuItem {action: actionOpen}
MenuItem {action: actionSave}
}
}
header: ToolBar
{
RowLayout
{
ToolButton {action: actionNew}
ToolButton {action: actionOpen}
ToolButton {action: actionSave}
}
}
TextArea
{
id: area
anchors.fill: parent
}
}
主.cpp:
#include <QtQuick/QQuickView>
#include <QtQuick/QQuickItem>
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QQuickView views;
views.setSource(QUrl(QStringLiteral("qrc:/QTKM/main.qml")));
views.show();
return a.exec();
}
测试您的代码 我看到出现了第二个空白窗口。
为了修复它,我将主要内容更改为:
#include <QApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}
使用 QQmlApplicationEngine
而不是 QQuickView
。
相关文章:
- Qt QML相机在部署后显示白屏
- 在 QML VideoOutput 中将 cv::mat 显示为 QVideoFrame
- 如何在不使用委托的 QML 中显示模型数据
- 如何隐藏最大化和最小化按钮并在qml应用程序窗口中显示关闭按钮?
- 根据应用程序是否已自动化显示不同的 QML 文件
- 如何在QML应用程序中显示本机窗口?
- 当通过引用传递 QObject 时,C++信号的参数在 QML 中显示为"未定义"
- 如何在 QML 中显示来自 QTextDocument 的分页文本?
- QML地图:大量显示的项目
- QML强制窗口将在第一个屏幕上显示
- 在 QML 场景中显示内存中的网格
- 如何向QML显示不断更新的c++数据
- QT QML - 在 C++ 的现有应用程序窗口中显示一个矩形
- QT QML 无法正确显示
- 将QT QML应用程序部署到Windows上显示了一个空白窗口
- 使用QML TableView的QabstracttableModel仅显示第一列
- QML 矩形按钮突出显示延迟
- 使 XML 数据显示在 Blackberry 10 Cascades QML 中的 listItemComponents
- Qt未正确显示QML窗口
- 从c++显示qml与qmlscene显示的内容不同