标签: qt-quick

Qt5 - 将简单的Qt Quick应用程序移植到Qt5.需要帮助

我试图将一个简单的Qt Quick应用程序从Qt4.8移植到Qt5.0beta.我的初始(Qt4.8)代码类似于以下内容:

main.cpp将在具有半透明背景的无框窗口中显示QDeclarativeView

#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
#include <QtDeclarative>
#include <QDeclarativeContext>

Q_DECL_EXPORT int main(int argc, char *argv[])
{
    QScopedPointer<QApplication> app(createApplication(argc, argv));

    QmlApplicationViewer viewer;
    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer.setMainQmlFile(QLatin1String("qml/main.qml"));

    viewer.setWindowFlags(Qt::FramelessWindowHint);

    viewer.setAttribute(Qt::WA_TranslucentBackground);
    viewer.setStyleSheet("background:transparent;");
    viewer.setResizeMode(QDeclarativeView::SizeViewToRootObject);
    viewer.showExpanded();

    return app->exec();
}
Run Code Online (Sandbox Code Playgroud)

main.qml只会在另一个透明矩形内显示一个红色矩形.

import QtQuick 1.1

Rectangle {
    width: 360
    height: 360
    color: "transparent"
    Rectangle
    {
     x: 125
     y: 122
        width: 110
        height: 116
        anchors.centerIn: parent
        color: "red"
  radius: 27
    }

    Text {
     color: "black"
        text: qsTr("Press me!")
        font.pointSize: 14
        anchors.centerIn: parent
    }

    MouseArea {
        anchors.fill: parent
        onClicked: { …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qt5

5
推荐指数
1
解决办法
4069
查看次数

在.pro文件中*=表示什么?

我正在尝试在Windows上构建qtdemo,我差不多完成了它,但qtquick示例存在问题.我认为它始于qtdemo.pro文件,在这部分:

contains(QT_CONFIG, quick1) {
    QT += quick1
} else {
    DEFINES *= QT_NO_DECLARATIVE
}
Run Code Online (Sandbox Code Playgroud)

它总是设置QT_NO_DECLARATIVE,因此程序抛出错误并且不运行该示例.我正在寻找'*='运算符是什么意思,但我无法在任何地方找到它.有人知道吗?他们总是说+ =和 - =但是*=根本没有提到......

qt qmake qt-quick

5
推荐指数
1
解决办法
554
查看次数

无法将C++类型注册到QML系统

我正在尝试将C++类型添加到QML系统中.

#include <QtGui/QGuiApplication>
#include <QDeclarativeEngine>
#include <QDeclarativeComponent>
#include "qtquick2applicationviewer.h"
#include <QQmlApplicationEngine>

class FooBar: public QObject {
    Q_OBJECT
};


int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine("qml/RBot/main.qml");

    qmlRegisterType<FooBar>("io.secorp", 1, 0, "FooBar");

    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译它时(我不在.qml文件中导入它,只测试)我正在调试有关调试的错误.

在此输入图像描述

怎么了?

谢谢.

c++ qt qml qt-quick qt5

5
推荐指数
1
解决办法
1358
查看次数

Qt Creator 不显示 QML 文件夹

我在 Qt Creator 中有一个 Qt 项目。我有一个qrc注册了 QML 的文件,一切正常。然而,由于某种原因,Qt Creator 的“项目”视图不像任何示例项目那样显示 QML 文件夹(附有屏幕截图)。

我只是好奇。为什么 QML 文件夹没有显示在我的项目中,但它显示在示例项目中?

文件夹列表

qt qt-creator qml qt-quick qtquick2

5
推荐指数
1
解决办法
1455
查看次数

loader.source更改时Qml Loader的动画

当我们Loader在QML中更改组件的来源时,有没有办法应用动画?例如,假设我有以下内容Loader:

Loader {
     anchors.fill: parent
     id: loader
}
Run Code Online (Sandbox Code Playgroud)

我设置时,我想要一个从左到右的动画 loader.source = "content.qml"

谢谢你的帮助.

qt qml qt-quick qtquick2 qt5.4

5
推荐指数
1
解决办法
4390
查看次数

QML的Component和Instantiator之间的区别?

QML类型ComponentInstantiator似乎做类似的事情; 按需创建QML对象,而不是解析其定义时. 那有什么区别? 为什么我要使用一个而不是另一个?

qt qml qt-quick qtquick2 qqmlcomponent

5
推荐指数
1
解决办法
889
查看次数

使用 QML 在表格视图中居中放置复选框

我在 TableView 中使用复选框控件,我使用 QML 定义该控件,如下所示:

import QtQuick 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4

TableViewColumn {
    title: ""
    role: "check"    
    delegate: CheckBox {
        anchors.fill: parent
        checked: false
        anchors { horizontalCenter: parent.horizontalCenter }
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在 TableView 中使用它,如下所示:

import QtQuick 2.3
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4

ControlView {
    visible: true
    width: parent.width; height: parent.height    
    anchors.centerIn: parent

    TableView {
        id: reviewTable
        width: parent.width; height: parent.height
        anchors.centerIn: parent

        TableViewCheckBoxColumn {
            title: "Upload"
            width: 100
            resizable: false …
Run Code Online (Sandbox Code Playgroud)

qt pyqt qml qt-quick

5
推荐指数
1
解决办法
2211
查看次数

动态创建qml窗口的正确方法

我正在研究Qt应用程序,我需要动态创建窗口.每个窗口都包含基于QObject的c ++后端和基于qml的界面.每个窗口都需要连接到核心类发出的一堆信号.目前的解决方案是从中导出窗口QQuickView,将信号连接到它并使用加载qml setSource().这是一种正确的方式还是有更好的方法?是否更好地QQmlEngine为所有窗口使用一个窗口(并将此引擎用作每个窗口的父窗口)或为每个新窗口创建新引擎?

qt qml qt-quick

5
推荐指数
1
解决办法
672
查看次数

模块“QtQuick.Dialogs”版本 1.3 未安装

我正在尝试在运行 1.2 版时没有任何问题的代码中导入 QtQuick.Dialogs 1.3 版。但是在运行时我收到以下错误

模块“QtQuick.Dialogs”版本 1.3 未安装

我正在使用默认的 Desktop Qt 5.9.2 GCC 64 位套件进行编译

有人知道发生了什么吗?

qt qt-quick qtquick2

5
推荐指数
1
解决办法
6844
查看次数

QtQuickControls2对话框在点击外部时消失

我正在尝试使用 QtQuickControls2 对话框:

    Dialog {
        id: dialog
        x: parent.width/2-width/2
        y: parent.height/2-height/2
        width:300
        height:200
        title: "Warning"
        modal: true
        standardButtons: Dialog.Ok
        visible: false
        onAccepted: console.log("Ok clicked")
    }


    Button {
        id: button
        objectName: "doSomethingButton"
        onClicked: {
            if(problemFlag==true)
                dialog.visible=true
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果按钮被点击并且problemFlag是 ,它应该被触发true。我读到如果modal设置为true用户无法与程序的其余部分交互。但是,如果我单击对话框外的某处,它就会消失(无需单击“确定”)。

qt qml qt-quick qtquickcontrols2

5
推荐指数
1
解决办法
1473
查看次数

标签 统计

qt ×10

qt-quick ×10

qml ×8

qtquick2 ×4

qt5 ×2

c++ ×1

pyqt ×1

qmake ×1

qqmlcomponent ×1

qt-creator ×1

qt5.4 ×1

qtquickcontrols2 ×1