QML Row 与 RowLayout

2023-12-31

我正在尝试为我的应用程序编写一个顶栏,其中应主要包含应用程序徽标(小图像)和应用程序标题(仅文本)。此外,我希望这个顶栏能够根据窗口的高度自动调整大小。

我是 QML 新手,但我想我应该将这些组件包装在Row or a RowLayout https://blog.qt.io/blog/category/qt-quick-2/成分。这是我的示例代码:

import QtQuick 2.0
import QtQuick.Layouts 1.0

Rectangle
{
    id: mainwindow
    width: 1024
    height: 600

    Row
    {
        id: rowlayout
        height: logoimage.height
        spacing: 5

        property int count: 3

        anchors
        {
            left: parent.left
            right: parent.right
            top: parent.top
        }   

        Image
        {   
            id: logoimage
            source: "qrc:/images/resources/images/icon.png"
            height: mainwindow.height / 20
            anchors.top: parent.top
            anchors.left: parent.left
        }   
        Text
        {   
            id: logotext
            text: qsTr("This is my logo text")
            font.pixelSize: parent.height
            font.family: "Sans Serif"
            height: parent.height
            verticalAlignment: Text.AlignVCenter
            anchors.top: parent.top
            anchors.left: logoimage.right
        }
        /*
        Rectangle
        {
            id: otherrect
            height: parent.height
            color: "lightgreen"
            anchors.top: parent.top
            anchors.left: logotext.right
            anchors.right: parent.right
        }
        */
    }
}

我告诉Row组件的高度应遵循徽标的高度,并且Image(logo) 组件,其高度应为 1/20Rectangle(主窗口)组件。

Using a Row容器,代码的行为符合预期,但我收到一个恼人的警告(QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row. Row will not function.)而且我必须做很多锚定。相反,如果我使用RowLayout容器,我可以移除大部分锚点,但是Image完全忽略了它的height属性(但文本仍然可以正确调整大小)。所以问题是:

  1. 这是一个错误吗RowLayout成分?我在用着Qt-5.1.0-测试版有Android支持,所以这可以是一个解释
  2. 我怎样才能使用Row组件而不在其子组件中使用锚点从而避免警告?
  3. 我错过了一些重要的东西,或者我几乎走在正确的轨道上,但我必须忍受这个 Qt 测试版,直到发布稳定版本?

您说您使用 Row 获得了预期的行为,因此您可能应该使用它。 Row 给出的警告要求您从其子元素中删除垂直锚点(顶部和底部)。

Row 元素为其子元素提供类似水平(左和右)锚点的行为,但它不介意您是否使用顶部和底部锚点(请注意,顶部和底部不在警告中)。

换句话说,从“logoimage”、“logotext”和“otherrect”中删除“anchors.left”和/或“anchors.right”行(如果您计划在某个时候取消注释),但不删除“anchors.top” ” 行,这应该停止警告并保持正确的行为。

另一种方法是仅删除 Row 元素并使用 Item 或 FocusScope(如果您计划在“顶栏”区域中包含输入元素),这不会尝试接管锚定操作,并且可能更适合您如果你真的喜欢主播。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QML Row 与 RowLayout 的相关文章

  • 将 n 个可变高度图像拟合为 3 个(相似长度)列布局

    我正在寻找类似于的 3 列布局piccsy com http piccsy com 给定许多宽度相同但高度不同的图像 有什么算法可以对它们进行排序以使列长度的差异最小 最好使用 Python 或 JavaScript 非常感谢您提前的帮助
  • Qt 5 和 QProcess 使用信号/槽 read 重定向标准输出

    这个问题困扰着我 因为它应该有效 但遗憾的是它没有 我试图实现的是读取某个进程的标准输出并让另一个进程处理它 即打印出来 产生输出的过程如下所示 include
  • 初始化会破坏rails中的布局设置吗?

    在其中一个控制器中 我需要特定的布局 我添加了layout一开始 效果很好 但如果我添加一个initialize某些基于控制器的变量的函数 Rails 似乎只是忽略了layout命令 有人有同样的问题吗 我该如何修复它 class Admi
  • 固定 Div 与静态 div 的滚动条重叠

    我无法按照我想要的方式设计布局 我有一个内容区 content 您可以在示例图像中看到的灰色 里面有一个黄色元素 这个div是position static height 100 现在我有一个 left paneldiv 也 与positi
  • 如何使用故事板更改wpf中网格行的高度

    我有一个Grid有 2 行
  • 在 html 中显示表单时使用 table 标签是不是不好的设计?

    我一直听到这样的话div标签应该用于布局目的 而不是table标签 那么这也适用于表单布局吗 我知道表单布局仍然是一个布局 但似乎使用以下命令创建表单布局divs 需要更多html and css 因此 考虑到这一点 表单布局应该使用div
  • BlackBerry - 与 FieldManager 一起享受乐趣

    我正在尝试创建一个 View 类 根据它的创建方式提供水平或垂直布局 我正在使用委托来实现此目的 class View extends Manager private Manager mDelegate public View Manage
  • 在 Android 中启用展开布局时,如何默认使用折叠布局显示自定义通知

    当用户折叠或展开通知时 我想通过支持小型和大型布局来显示我的自定义通知 如上面的屏幕截图所示 但结果它默认显示扩展通知 我想默认将其显示为折叠通知 并且仅在用户展开时显示展开通知 请检查我的代码如下 private fun initCust
  • 如何在两种不同模式、两种布局中设置方向?

    我有一个叫做Main XML我将方向设置为纵向AndroidManifest xml 我也为 Honeycomb 设计了这个布局并将其放置在layout xlarge mdpi文件夹 但我想使用Main XML in layout xlar
  • Qml 和模糊图像

    我想使用 QML 实现模糊效果 我找到了有关 效果 模糊 的参考资料 例子 http qt gitorious org lscunha qt components lscunha qt components blobs d78feec567
  • QML:无法读取未定义的属性“xxx”

    ApplicationWindow id root property string rootName rootName visible true width 800 height 400 title qsTr WatchFace Maker
  • 如何在android中画分区的圆?

    我想在我的应用程序中绘制这种类型的圆圈 我可以使用 Canvas 绘制圆圈 但我不知道如何进行分区 谁能建议我如何分割圆 编辑 我想画内圈内的线 提前致谢 这是满足您要求的工作代码 编辑代码 Paint paint1 new Paint P
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • 如何在针对 Windows XP 的情况下使用 VS2012 构建 Qt 4/5?

    我正在尝试使用 Visual Studio 2012 构建 Qt 4 8 5 Qt 5 2 1 针对 Windows XP SDK v7 1a 使用 VS2102 编译时 源代码与 SDK v7 1a 存在各种不兼容性 因此无法开箱即用 这
  • Flutter 为什么环绕行时 Wrap 不起作用?

    我试图将一些内容包装在 flutter 中 但没有成功 我发现我无法像使用芯片或文本小部件那样换行 有人知道为什么吗 这是三组 Rows 每组都有一个图标和一个文本 并排放置 但在较小的屏幕中它会溢出 因为没有足够的空间 宽度 我希望当当前
  • Qt 5.0中添加QFtp

    我需要在我的项目中使用 QFtp 类 当我使用 Qt 5 0 进行开发时 我需要从 gitorious 存储库下载该类 https qt gitorious org qt qtftp https qt gitorious org qt qt
  • Java Swing:为什么必须调整框架大小,以便可以显示已添加的组件

    我有一个简单的 Swing GUI 不仅如此 我编写的所有 swing GUI 运行它时 除了空白屏幕之外 它不会显示任何内容 直到我调整主框架的大小 因此每个组件都已重新绘制 我可以显示它们 这是我的简单代码 public static
  • Partial、Layout、Template 渲染问题

    情况 因此 当我访问页面时 我希望能够将布局应用到部分 我想要三个具有相同布局的部分 现在 我正在尝试使用以下命令来执行此操作 where shared services essay是这样的 p blah p div blah div
  • 如何使用 dc.js 或 d3.js 为行图添加轴标签

    对于条形图和堆积图 我们可以使用 xAxisLabel X Axis Label and yAxisLabel Y Axis Label 为各个轴添加标签的函数 但 有没有办法为行图添加轴标签 尝试这样的事情 dc renderAll fu
  • 连接到 QNetworkReply::error 信号

    我正在使用 Qt5 的新连接语法 QNetworkReply 有一个名为error http qt project org doc qt 5 0 qtnetwork qnetworkreply html error 2还有一个函数叫做err

随机推荐

  • 有效的访问参数

    如何查找有效的访问参数 我查看了 menu router 但我相信这只给出了其中的一些 items admin page array access arguments gt array access administration pages
  • HMT collection_singular_ids=直接删除连接模型,不触发销毁回调

    刚刚遇到了 has many through 关联的问题 并且未触发 after before destroy 回调 假设我有用户 组和称为成员资格的中间关系 我有一个表单 允许用户在选中关联的复选框时通过创建新的成员记录来注册到组中 基本
  • 如何使用构建名称设置器插件?

    有谁知道是否有关于如何使用 jenkins 的构建名称设置器插件的用户手册 jenkins 插件网站似乎只有一个下载插件的链接 没有关于如何使用它的信息 https wiki jenkins ci org display JENKINS B
  • Jquery JQGrid - 如何设置网格标题单元格的对齐方式?

    jqgrid 中是否可以对齐网格列标题 例如左对齐或居中对齐 在 jqrid 文档中http www trirand com jqgridwiki doku php id wiki colmodel options http www tri
  • 是否可以在 sed 地址中进行简单的算术运算?

    是否可以在 sed 地址中进行简单的算术运算 判断通过 地址 手册部分 http www gnu org software sed manual sed html Addresses 答案似乎不是 但也许有一个解决方法 例如 如何打印文件的
  • 如何在给定范围内插入 1000 个随机日期?

    我是 SQL Server 新手 我需要生成从给定日期范围中选择的随机日期 就像雇员的受雇日期应该介于2011 01 01 and 2011 12 31 生成的日期应随机插入到 1000 行表中 任何人都可以指导我解答我的疑问吗 decla
  • Spring 集成和重试:我是否需要为每个服务激活器使用单独的重试 bean?

    我有一个 spring 集成管道 并且有许多不同的服务激活器 我想启用重试 我想使用相同的重试策略 即重试次数 退避策略等 我可以只使用一个实现重试策略的 bean 并将其用于多个不同的服务激活器 还是每个服务激活器都需要自己的重试 bea
  • 使用 sketch.js 为移动网页绘制画布会重置 ontouch

    我正在使用sketch js用于在 HTML5 画布上绘图的插件 虽然它在台式电脑上运行良好 但在移动浏览器上似乎存在一些问题 问题是如果我画两个不同的形状 一旦我触摸画布 它就会重置为空白 为了完全清楚 我会做并且example 绘制数字
  • 具有 ClipboardData 属性的 Angular2 组件

    我有一个 Angular2 组件 它具有从剪贴板粘贴数据的方法 inputPaste event let clipboardData event clipboardData 这种方式不适用于 IE10 但 IE 有一个带有属性 Clipbo
  • Firebase - 用户对事物的评论[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在构建一个 Android 应用程序 允许用户对广告牌前 100 名上的每首歌曲发表评论 我从 JSON 文件中解析了该信息 我将
  • 可以“跳过”行的数组公式

    我需要在谷歌电子表格中引入功能 该功能将允许用户编辑数组公式的结果 提出此要求的原因是 ARRAYFORMULA 为一组单元格设置默认值 但用户有时需要覆盖这些默认值 我想知道这是否有可能 example Row Array 1 Array
  • 算法:从一组游戏中选择成对的球队

    我正在尝试为体育联盟创建一个调度程序 我想将球队分组 以便每个球队每组进行一场比赛 我认为我正在尝试做的事情是计算机科学中现有的问题 但我不知道它叫什么 而且我很难找到有关它的信息 不管怎样 情况如下 假设我有一组团队A 1 2 3 n 以
  • 您在编写单元测试时最常犯的错误是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您在编写单元测试时最常犯的错误是什么 耦合 缺乏凝聚力 尝试一次测试太多功能 没有测试足够的功能 如果您有该错误的示例 请发布一些示例代码 根本
  • 如何防止用户代理显示无法识别的 MIME 类型的下载窗口?

    如果您设置Content Disposition标头至attachment 这会导致用户代理始终显示该文件的下载窗口 我想做与此相反的事情 强制用户代理始终直接显示响应 在这种特殊情况下 我有一个发送 JSON 的 API 我想把它作为ap
  • Flexbox 项目多行文本溢出

    我有一个弹性物品 里面有很长的绳子 我想把它包裹起来 但这不起作用 I set flex 1 1 500px 例如 flex basis 500px 并且它应该用以下内容包裹字符串word wrap break word 但事实并非如此 而
  • Kinesis 流待处理消息计数

    我正在尝试将 AWS Kinesis 流用于我们的数据流之一 我想出于操作目的监视流上的待处理消息 根据积压向下游扩展 但无法找到任何在我的流中提供 大约 待处理消息的 API 这看起来很奇怪 因为消息在 7 天后就会过期 如果生产者和消费
  • Java 程序为音频文件创建 PNG 波形

    如何使用 Java 将 Wav 文件转换为 PNG 波形图像文件 java MyProgram class path to wav file path where to write png file 预期成绩 指定路径中保存的png是传入的
  • 更改 .png 以与 JpegImagesToMovie.java 一起使用

    我正在使用 JpegImagesToMovie java 将图像转换为 mov 文件 我想知道是否可以编辑它来处理 png 文件 因为视频的质量不是很好 更改它会改善它 ImageIO write img png new File C Us
  • 何时使用define_singleton_method v Define_method

    在一个答案中这个问题 https stackoverflow com questions 19368437 how to use define method inside initialize用户 mu 太短 解释说您不希望对象的行为在初始
  • QML Row 与 RowLayout

    我正在尝试为我的应用程序编写一个顶栏 其中应主要包含应用程序徽标 小图像 和应用程序标题 仅文本 此外 我希望这个顶栏能够根据窗口的高度自动调整大小 我是 QML 新手 但我想我应该将这些组件包装在Row or a RowLayout ht