标签: qt-quick

是否有可能在OS X上部署没有Qt网络的Qt Quick应用程序?

我有一个使用以下模块的Qt Quick应用程序

QT = core gui qml quick widgets \
    core-private gui-private \
    multimedia printsupport`
Run Code Online (Sandbox Code Playgroud)

我在OS X上部署.现在我的主要二进制文件以及许多Qt Qtick插件显示出对Qt Network的依赖.

otool -L /path/to/My.app/Contents/MacOS/My

        /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55471.14.18)
        /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.16.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
        @executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.4.0, current version 5.4.2)
        @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.4.0, current version 5.4.2)
        @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.4.0, current version 5.4.2)
        /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
        /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility …
Run Code Online (Sandbox Code Playgroud)

qt qt-quick qtnetwork qt5

13
推荐指数
1
解决办法
1105
查看次数

为QML组件分配键盘快捷键

我正在使用QML和Qt Creator构建桌面应用程序,我目前正在研究键盘处理以及它如何与QML元素一起工作.我已经意识到桌面小部件缺少适当的QML替换.

我目前的问题是,我希望为一些特定的QML组件分配一些全局键盘快捷键(比如为GUI上的按钮分配键盘快捷键),这些快捷键应该激活它们.我能管理的最好的是使用FocusScopes和Key Navigation能够通过键盘导航GUI,但这不是一回事.

任何人都可以建议在这种情况下做什么?Qt 5有没有这样的功能?我在互联网上找不到任何相关信息.

qt qml qt-quick qt4.7 qt5.1

12
推荐指数
3
解决办法
6522
查看次数

没有QtCreator,exe文件不会运行

为Windows 32位安装了Qt 5.0.1(MinGW 4.7,823 MB)

然后我创建了简单的Quick 2应用程序并编译它.应用程序位于其文件夹中,并且应用程序从QtCreator运行.我想在没有QtCreator的情况下运行这个exe文件.为此,我从C:\ Qt\Qt5.0.1\5.0.1\mingw47_32\bin复制文件:

  1. Qt5Core.dll
  2. icuin49.dll
  3. libgcc_s_sjlj-1.DLL
  4. libwinpthread-1.DLL
  5. libGLESv2.dll
  6. 的libstdc ++ - 6.dll
  7. qminimal.dll
  8. Qt5Gui.dll
  9. Qt5Network.dll
  10. Qt5Qml.dll
  11. Qt5Quick.dll
  12. Qt5V8.dll
  13. qwindows.dll

然后我得到错误:

Точкавходавпроцедуру_ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCodeненайденавбиблиотекеDLIicuuc49.dll

翻译:

在库DLL icuuc49.dll中找不到过程入口点_ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCode

如果我将exe文件复制到文件夹C:\ Qt\Qt5.0.1\5.0.1\mingw47_32\bin(其中都是dll),程序运行,但没有显示.

如果我将exe文件复制到文件夹C:\ Qt\Qt5.0.1\Tools\QtCreator\bin(其中都是dll),程序不会运行.

该怎么办?程序运行的位置和库是什么?

解决了.C:\ Qt\Qt5.0.1\5.0.1\mingw47_32\bin中的最终库列表:

  1. icuin49.dll
  2. icuuc49.dll
  3. libEGL.dll
  4. libgcc_s_sjlj-1.DLL
  5. libGLESv2.dll
  6. 的libstdc ++ - 6.dll
  7. libwinpthread-1.DLL
  8. Qt5Core.dll
  9. Qt5Gui.dll
  10. Qt5Network.dll
  11. Qt5Qml.dll
  12. Qt5Quick.dll
  13. Qt5V8.dll

我忘了添加qml文件的文件夹.

qt qml qt-quick qt5 qtquick2

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

QML - 跟踪组件的全局位置

我想跟踪一个对象的全局位置(或相对于它的一个祖先)并将其绑定到其他项目的位置.

我正在考虑使用mapFromItem如下:

SomeObject {
  x: ancestor.mapFromItem(trackedObject, trackedObject.x, 0).x
  y: ancestor.mapFromItem(trackedObject, 0, trackedObject.y).y
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是,它mapFromItem被评估一次,并且不会更新,因为其中一个参数得到更新.此外,映射有时返回由我无法在代码中跟踪的偏移量改变的新位置(但这不是手头的问题).

我的第二个想法是通过实现一个函数来计算全局位置,该函数将递归地求和偏移量,停止在提供的祖先(类似的东西calculateOffsetFrom(ancestor)).这仍然只是一个函数,就我而言,它不会被重新评估为祖先位置变化之一(除非,在该函数中,我将绑定调用它的onXChanged每一个信号的信号)沿途的祖先,这似乎是一个肮脏的解决方案).

所以最后我已经添加了我想要跟踪的对象的属性,然后我绑定到它们:

TrackedObject {
  property real offsetX: x + parent.x + parent.parent.x + parent.parent.parent.x ...
  property real offsetY: y + parent.y + parent.parent.y + parent.parent.parent.y ...
}

SomeObject {
  x: trackedObject.globalX
  y: trackedObject.globalY
}
Run Code Online (Sandbox Code Playgroud)

但是......好吧......这个根本不会扩展,而且会像它那样难看.

有谁知道如何以更清洁的方式解决这个问题?

编辑: 据我所知,在这种情况下我不能使用锚点.该SomeObject组件是一个自定义组件,从一个点到另一个点绘制贝塞尔曲线(它将连接两个TrackedObjects).为此,我需要坐标之间的差异.如果我是正确的锚,则不提供任何计算它们之间距离的方法.

qt qml qt-quick qtquick2

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

QML - MouseArea - 传播onPositionChanged

是否有可能将一个MouseAreapositionChanged事件传播给一个基础事件?

我试图设置mouse.acceptedfalse为最上面的任何现有的信号处理程序MouseArea,以及设置propagateComposedEventstrue.这些都没有起作用(虽然我对propagateComposedEvents并不工作并不感到惊讶,因为文档说它只传递类似的事件clicked,doubleClickedpressAndHold).

qt qml qt-quick qtquick2

12
推荐指数
1
解决办法
4416
查看次数

Qt on android,减少二进制大小

我使用Qt在Android上构建应用程序,Qt Quick主要是它真的很好,但我的主要问题是启动大小约为27 MB,这对于初始大小来说是巨大的..有没有办法减小这个大小?

c++ qt android apk qt-quick

12
推荐指数
1
解决办法
2423
查看次数

在QML中动态添加元素到SplitView

我正在使用QML,我想动态地向SplitView添加元素,例如.onMouseClick,但到目前为止我没有找到答案.

到目前为止我发现的是SplitView它的默认属性设置为它的第一个孩子的data属性.所以我想我应该尝试添加新动态创建的组件,并将父组设置为该child(splitView1.children[0]).不幸的是,这也不起作用.在组件加载完成后,第一个子节点的子节点数为零(看起来像SplitLayout的Component.onCompleted事件调用一个将这些子节点移动到其他地方的函数).因此,添加的子项不会呈现(并且不响应任何布局附加属性).

请参阅以下代码段:

import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Layouts 1.0

ApplicationWindow {
    width: 600
    height: 400

    SplitView {
        anchors.fill: parent

        Rectangle {
            id: column
            width: 200
            Layout.minimumWidth: 100
            Layout.maximumWidth: 300
            color: "lightsteelblue"
        }

        SplitView {
            id: splitView1
            orientation: Qt.Vertical
            Layout.fillWidth: true

            Rectangle {
                id: row1
                height: 200
                color: "lightblue"
                Layout.minimumHeight: 1
            }

//            Rectangle {               //I want to add Rectangle to splitView1 like this one, but dynamicly eg.onMouseClick
//                color: "blue"
// …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qtquick2

11
推荐指数
1
解决办法
3081
查看次数

如何实现QML ListModel,就像QAbstractListModel派生模型的get方法一样

我想在QML中使用QAbstractListModel派生模型.将模型绑定到视图已经很有效.

我想要实现的下一件事是能够访问特定项目及其角色,就像使用QML ListModel一样

grid.model.get(index).DisplayRole
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何在我的QAbstractListModel派生模型中实现这个get方法.

任何提示?

qt qabstractitemmodel qml qt-quick qtquick2

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

新的拖放机制在Qt-Quick中无法正常工作(Qt 5.3)

我试图实现拖动和使用新的QML类型的Qt 5.3下降Drag,DragEventDropArea.这是QML Drag类型文档中的原始示例,并进行了一些小的修改:

import QtQuick 2.2

Item {
    width: 800; height: 600

    DropArea {
        width: 100; height: 100; anchors.centerIn: parent

        Rectangle {
            anchors.fill: parent
            color: parent.containsDrag ? "red" : "green"
        }

        onEntered: print("entered");
        onExited: print("exited");
        onDropped: print("dropped");
    }

    Rectangle {
        x: 15; y: 15; width: 30; height: 30; color: "blue"

        Drag.active: dragArea.drag.active
        // Drag.dragType: Drag.Automatic
        Drag.onDragStarted: print("drag started");
        Drag.onDragFinished: print("drag finished");

        MouseArea {
            id: dragArea
            anchors.fill: parent
            drag.target: parent …
Run Code Online (Sandbox Code Playgroud)

qt drag-and-drop qml qt-quick qt5

11
推荐指数
1
解决办法
5011
查看次数

在Qt QML中更改按钮的字体大小

如何在QML中设置Button控件中文本的字体大小?设计器没有选项,'font'不是Button的有效属性.

Button {
    id: cmdQuit
    text: qsTr("Quit")
    width: 64
    height: 32
}
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick

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

标签 统计

qt ×10

qt-quick ×10

qml ×8

qtquick2 ×5

qt5 ×3

android ×1

apk ×1

c++ ×1

drag-and-drop ×1

qabstractitemmodel ×1

qt4.7 ×1

qt5.1 ×1

qtnetwork ×1