标签: qml

qt qml和qt之间的差异很快

Q1:我对qml,quick1.0和quick2.0感到困惑.它们之间有什么区别.

我使用基于qt 5.1.1的qt creator 2.8.1.我想开发一个桌面程序,我应该使用哪种技术?

Q2:如何将数据导出到快速程序?我只找到关于qml的文档v 4.7.

qt qml qt-quick qtquick2

64
推荐指数
2
解决办法
3万
查看次数

Qt中的C++信号到QML插槽

我想从C++向我的QML文件中的Slot发送一个Signal.我已经让它没有和原始类型参数工作,但如果我想发送QString到我的QML插槽我连接时出错.

我在main.cpp中连接

QObject *contentView = rootObject->findChild<QObject*>(QString("contentView"));
QObject::connect(&myObj,      SIGNAL(finishedGatheringDataForItem(QString)), 
                 contentView, SLOT(updateViewWithItem(QString)));
Run Code Online (Sandbox Code Playgroud)

我的qml文件的相关部分

Rectangle {
        objectName: "contentView"
        function updateViewWithItem(string) { console.log('got some Items'); }  // slot
}
Run Code Online (Sandbox Code Playgroud)

错误:

Object::connect: No such slot QDeclarativeRectangle_QML_2::updateViewWithItem(QString)
Run Code Online (Sandbox Code Playgroud)

c++ qt signals-slots qml

51
推荐指数
2
解决办法
7万
查看次数

用于GUI的Qt Designer C++或QML

我知道在QT中使用QML是一个很新的东西,我想知道是否应该使用QTDesigner或QML设计我的应用程序.我将使用MVC模式和我主要担心的是,如果我在GUI中使用QML,那么在我的C++应用程序的reste中集成它可能并不容易.

请随意提出您的个人建议,我将不胜感激.谢谢!

c++ user-interface qt qml

49
推荐指数
3
解决办法
3万
查看次数

Qt Designer vs Qt Quick Designer vs Qt Creator?

我见过引用所有三个在Qt的网站的各个部分,这些应用程序的,但我在它们之间,以及他们是否实际上是不同的东西或者只是叫法不同同样的事情,或者名称随时间变化的具体差异完全不明?或者是不再支持?与这些有什么关系?

qt qt-creator qt-designer qml qt-quick

45
推荐指数
2
解决办法
3万
查看次数

关于QML中的非NOTIFYable属性的警告

我在Qt中有一个基于QML的应用程序,它在运行时生成一些警告:

QDeclarativeExpression:表达式"(function $ text(){return pinyin})"取决于非NOTIFYable属性:hanzi :: DictionaryEntry :: pinyin

我相信它指的是这个类有一些没有通知符的属性(因为不需要):

#ifndef DICTIONARYENTRY_H
#define DICTIONARYENTRY_H

namespace hanzi {

class DictionaryEntry : public QObject {

    Q_OBJECT

    Q_PROPERTY(QString simplified READ simplified)
    Q_PROPERTY(QString traditional READ traditional)
    Q_PROPERTY(QString pinyin READ pinyin)
    Q_PROPERTY(QString definition READ definition)

public:

    explicit DictionaryEntry(QObject* parent = 0);
    const QString& simplified() const;
    const QString& traditional() const;
    const QString& pinyin() const;
    const QString& rawDefinition() const;
    const QStringList& definitions() const;
    const QString& definition() const;
    void setSimplified(const QString& v);
    void setTraditional(const QString& v);
    void setPinyin(const …
Run Code Online (Sandbox Code Playgroud)

qt warnings qml

40
推荐指数
1
解决办法
2万
查看次数

如何在使用QQmlApplicationEngine时从C++访问我的Window对象属性?

我一直在努力学习QtQuick用于GUI创建,但我一直很难理解如何从我的测试程序的C++部分与QML对象进行交互.

这是我简单的QML文件:

import QtQuick 2.2
import QtQuick.Window 2.1

Window {
    id: mainWindow
    visible: true
    width: 800
    height: 800
    color: "#FFFF0000"

    MouseArea {
        anchors.fill: parent
        onClicked: Qt.quit()
    }

    Rectangle {
        id: testRect
        width: 100
        height: 100
        anchors.centerIn: parent
        color: "#FF0000FF"
    }
}
Run Code Online (Sandbox Code Playgroud)

这是随附的基本C++文件(由QtCreator自动生成):

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:///main.qml")));

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

我的问题是我不知道如何访问我的'Window'QML对象,因此,我无法改变它的任何属性或其子项的属性!QtQuick文档的这一部分显示了从C++代码中访问QML对象的两种方法,但它们似乎都不适用于这个'QQmlApplicationEngine'加载方案.我也看到人们使用'QApplicationViewer'和'QDeclaritiveView'之类的东西,但我似乎无法在官方文档中找到那些..

我对QtQuick感到非常沮丧; QML的"简单性"似乎在大量冲突的文档和C++与QML之间错综复杂的界面中丢失.无论如何我在使用QQmlApplicationEngine方法时访问我的QML对象?我尝试过使用'QuickView',但它似乎不适用于Window QML对象..?QQmlApplicationEngine仅对单个文件中的QML应用程序有用吗?到目前为止,我读过的每一篇文档和教程都显示了不同的东西......

任何帮助或澄清将不胜感激.理想情况下,我想知道如何通过我的C++代码访问和修改QML对象(如'mainWindow','testRect'和其他文件中的其他对象).

c++ user-interface qt qml qtquick2

39
推荐指数
1
解决办法
2万
查看次数

如何从QML访问C++枚举?

class StyleClass : public QObject {
public:
    typedef enum
        {
            STYLE_RADIAL,
            STYLE_ENVELOPE,
            STYLE_FILLED
        }  Style;

    Style m_style;
    //...
};
Run Code Online (Sandbox Code Playgroud)

.h文件包含上面的代码.如何通过QML访问上面的枚举?

c++ qt qml qtquick2

36
推荐指数
6
解决办法
4万
查看次数

QML中的图像圆角

令我惊讶的是,该Image组件没有radius属性.我尝试通过将图像放在圆形中来模拟圆角Rectangle,但它不会剪切角落.

Rectangle {
    anchors.right: rectContentBg.left
    anchors.top: rectContentBg.top
    anchors.margins: 8

    radius: 8

    width: 64
    height: 64

    Image {
        id: imgAuthor

        opacity: 1
        smooth: false

        anchors.fill: parent

        source: "qrc:/res/sample_avatar.jpg"
    }
}
Run Code Online (Sandbox Code Playgroud)

如何正确创建圆角图像?

qml qt5 qtquick2

34
推荐指数
7
解决办法
2万
查看次数

宽度,高度和implicitWidth/Height之间的差异以及QML中的相应用例

width/heightimplicitWidth/HeightQML有什么区别?应该何时设置隐式维度而不是常规维度?何时应该从组件/项目中询问隐式维度而不是常规维度?

qt qml

34
推荐指数
2
解决办法
6681
查看次数

QT5.在QML中嵌入QWidget对象

我正在使用Qt5 beta并尝试将基于QWidget的对象嵌入到QML中.目标是尽可能多地使用QML,并且只使用QML不能满足我需要的QWidget对象.我找到了一个解释如何为Qt4.7执行此操作的链接,但我没有找到任何解释如何在Qt5中执行此操作的信息.

http://doc.qt.digia.com/4.7/declarative-cppextensions-qwidgets.html

Qt5示例文件夹中的相同示例也可用于:

实例\ qtquick1 \声明\ cppextensions\qwidgets

不幸的是,这个例子使用QtQuick 1而不是QtQuick 2,我想使用Qt5的新功能.我实际上想嵌入一个qwt小部件,但作为第一步,我很乐意嵌入任何简单的基于QWidget的对象.

任何人都可以帮助我在Qt5/QtQuick 2下工作吗?

qwidget qml qt5

31
推荐指数
5
解决办法
2万
查看次数