标签: qml

为什么anchors.fill不能在QML ListView的委托子视图中工作,什么是一个很好的解决方案?

我遇到了这个:

ListView {
    id: listView
    model: ["Lorem","Ipsum"]
    delegate: Item {

        height: 20
        Text {
            z: 2
            text: modelData
            anchors.fill: parent
        }

        Rectangle {
            z: 1
            color: "red"
            // this does not work:
            anchors.fill: parent
            // this works, but I have mixed feelings about it:
            // height: 20; width: listView.width
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,显然,anchors不在委托的子项目中工作(在这种情况下,Rectangle根本不显示).我想了解这背后的机制.另外,我想问一下处理这种情况的首选方法是什么?谢谢!

qt listview qml qtquick2

0
推荐指数
1
解决办法
1269
查看次数

在Android中更改按钮的字体大小,同时保留原生状态

我想改变Button的字体大小.我用过这里的解决方案

import QtQuick 2.2
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2

Rectangle {
  id: container
  width: 800
  height: 800

  Button {
    id: cmdQuit
    text: qsTr("Quit")
    width: 100
    height: 100
    style: ButtonStyle {
      label: Text {
        renderType: Text.NativeRendering
        verticalAlignment: Text.AlignVCenter
        horizontalAlignment: Text.AlignHCenter
        font.pointSize: 20
        text: cmdQuit.text
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我这样做时,我失去了Android原生外观,并获得了后备基础外观.有没有办法在不丢失Android上的原生样式的情况下更改字体大小?

我想改变单个按钮的外观,并希望其他按钮保持不变.我正在使用Qt5(C++)和QML.我不想要一个涉及复制整个QtQuick/Controls/Styles/Android文件夹的解决方案 - 我可以自己做但是很糟糕

android qml qt5 qtquickcontrols

0
推荐指数
1
解决办法
937
查看次数

如何在QML中截取特定项目的屏幕截图?

我知道如何在QML中截取整个窗口的截图.

Video在QML窗口中有一个元素.该视频显示在一个Rectangle.

什么是采取截图的方式Rectangle,而不是整个窗口?

qt qml qt5 qtquick2

0
推荐指数
1
解决办法
2795
查看次数

创建随机颜色的随机矩形,不重叠

如何使用javascript在QML中创建这样的东西?

在此输入图像描述

其实我知道如何在QML中创建矩形但是想要做这样的事情.QML画布可以是任何大小,但是无论何时加载QML部分,都会生成具有随机大小和颜色的多个正方形而不重叠.当我尝试这样做时,矩形以列表形式生成.我是一个Web开发人员(ruby on rails oriented)但是对这些javascript的东西很新.任何帮助将不胜感激.

javascript qt qml

0
推荐指数
1
解决办法
2705
查看次数

Qt:在运行时从C++代码创建QML组件时,onChildrenChanged未启动

对于项目,我需要在运行时从C++创建QML组件.

我的一般架构如下:

PROJECT1:

  • Engine.h
  • Engine.cpp
  • CustObject.h
  • CustObject.cpp
  • Plugin.h
  • Plugin.cpp
  • Dummy.qml

项目2:

  • main.cpp中
  • main.qml

我想要做的是将Engine.cpp实例化为QML对象(可能因为我在Plugin类中注册它并使其可用于Project2)然后从Engine创建动态CustObject实例(它们也被Project2注册使用) .最后我希望如果我写:

ApplicationWindow{
id: window
visible: true
    Engine{
        id: eng1
        CustObject{
            id: custObj1
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这与编写类似的内容相同

ApplicationWindow {
    id: window
    visible: true

    Button {
        text: "add new child"
        onClicked: {
            console.log("QML: Number children before", eng1.children.length);
            eng1.addNewChildren();
            console.log("QML: Number children after", eng1.children.length);
        }
    }
    Engine{
        id: eng1
        onChildrenChanged: console.log("Changed")
    }
}
Run Code Online (Sandbox Code Playgroud)

我应该看到孩子的数量增加,并且应该启动从eng1开始的onChildrenChanged.

问题是既没有增加子项数,也没有启动onChildrenChanged信号.

我还有另外一个问题,为了在父类中添加一个子项,在我的情况下,我使用了QQMLComponent类的函数QQmlComponent(QQmlEngine*engine,const QUrl&url,QObject*parent = 0).但我找不到将CustObject类转换为QUrl的方法,因为它不是.qml文件.

因此,我首先尝试添加一个名为Dummy.qml的虚拟qml对象,而不是CustObject对象.Dummy.qml看起来像这样:

import QtQuick 2.0

Item {
    property int nb: 1 …
Run Code Online (Sandbox Code Playgroud)

c++ qt object qml

0
推荐指数
1
解决办法
468
查看次数

如何检测何时删除文本

我的用户界面包含一个带有

  horizontalAlignment: Text.AlignJustify
  maximumLineCount: 5
  wrapMode: TextEdit.WordWrap
  elide: Text.ElideRight
Run Code Online (Sandbox Code Playgroud)

当文本不适合时,最后一行应以“ ... MORE”结尾,其中“ MORE”应可突出显示。这可能是一个单独的“文本”字段,在该字段中,可见性由是否忽略文本来控制。

但是,如何检测何时删除文本?

qt text qml qtquick2

0
推荐指数
1
解决办法
1655
查看次数

QML:"带有foo的NumberAnimation"语法 - 这是什么意思?

我开始在Qt Creator中编写一个NumberAnimation声明,并在自动完成框中得到了一些东西.其中一个是"NumberAnimation with target".这是否意味着有这样的语法:

NumberAnimation with foo {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我想我之前也看过这种语法,但是我不记得它做了什么,这两个Qt doc页面都没有:[1] [2]似乎提到它.

syntax qt keyword qml qtquick2

0
推荐指数
1
解决办法
87
查看次数

Qt快速控制ListView大小问题

我使用Qt Quick Controls 2时出现弹出窗口大小行为的问题.当我将ListView作为弹出窗口的contentItem时,弹出窗口大小为零.一些重现问题的示例代码:

import QtQuick 2.4
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3

ApplicationWindow {
    id: window
    visible: true
    width: 800
    height: 600

    Button {
        text: "open popup"
        onClicked: popup.open()
    }

    Popup {
        id: popup
        x: (window.width - width) / 2
        y: window.height / 6
        width: contentWidth
        height: contentHeight

        contentItem: ListView {
            width: contentWidth
            height: contentHeight
            model: ListModel {
                ListElement {
                    name: "Apple"
                    cost: 2.45
                }
                ListElement {
                    name: "Orange"
                    cost: 3.25
                }
                ListElement {
                    name: "Banana"
                    cost: 1.95
                } …
Run Code Online (Sandbox Code Playgroud)

qt qml qt-quick qtquick2 qtquickcontrols2

0
推荐指数
1
解决办法
1031
查看次数

Qml Qt Quick Control 2:缩放字体大小,不带绑定循环

我想缩放Label像这样的字体大小:

Label {
    font.size: font.size*0.8
}
Run Code Online (Sandbox Code Playgroud)

当然这会创建一个绑定循环.有没有办法在不创建隐藏Label元素的情况下执行此操作?

Label {
    id: hiddenLabel
}

Label {
    font.size: hiddenLabel.font.size*0.8
}
Run Code Online (Sandbox Code Playgroud)

缩放整个标签不是最佳的,因为文本质量下降:

Label {
    scale: 0.8
}
Run Code Online (Sandbox Code Playgroud)

问候,

qt qml qtquickcontrols2

0
推荐指数
1
解决办法
2077
查看次数

如何内联定义QML组件并覆盖属性?

我正在尝试一些看似简单的事情,但失败了:内联定义一个简单的文本格式设置组件,然后使用不同的文本多次实例化它。这是代码

Item {
.
.
.
Component {
    id: favButtonLabelText
    Text {
        text: "Blah!"
        color: StyleSingleton.xNavPrimaryText
        font.family: StyleSingleton.xNavTextFont
        font.pointSize: 28
    }
}
.
.
.       
Loader { sourceComponent: favButtonLabelText; text: "Diameter" }
Run Code Online (Sandbox Code Playgroud)

在加载程序行,text属性无效。试图在组件上定义属性或别名的尝试被拒绝,“组件对象无法声明新属性”。

我在文档中找到的唯一示例显示了重写内联组件中定义的x属性Rectangle。在我看来,覆盖元素的text属性Text是类似的。

我怎样才能做到这一点?

qml qqmlcomponent

0
推荐指数
3
解决办法
1675
查看次数