【发布时间】:2019-01-08 22:41:23
【问题描述】:
我对使用 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
}
}
main.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();
}
【问题讨论】:
-
有错误信息吗?对我来说,它显示了文件菜单、三个按钮和我可以在其中输入的
TextArea...(我唯一要做的就是将 5.12 更改为 5.11,因为这是我正在使用的版本) -
完全没有错误消息,一切正常,只是没有发生太多事情。
标签: c++ qt visual-studio-2017 qml