问题标签 [qtquickcontrols2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
388 浏览

qt - 标题 QtQuickCONtrols 2 中的两个工具栏

我从 Qt Quick 开始,我想开发一个将部署在嵌入式系统上的应用程序。我正在使用 Qt Quick Controls 2。我试图在我的标题中创建两个工具栏:一个由图标(电池电量、网络连接等)组成的工具栏和一个允许在 StackView 中导航的工具栏(如Qt 提供的示例库)。我想为每个工具栏设置两种不同的背景颜色,在此处输入图像描述。现在我有一个带有工具栏的标题,并且使用 ColumnLayout 和两个 RowLayout 来组织级别。我该怎么办?

0 投票
1 回答
680 浏览

qt - QML:销毁弹出窗口导致事件循环中的访问冲突

就在我调试我的程序试图破坏由 动态创建的弹出窗口Qt.createComponent(...)时,它偶尔会发生异常。

在此处输入图像描述

以下是相关代码:

TestPopup.qml:

[1]什么时候dialog.destroy(),极有可能发生异常。当[1]is时timer.start(),它偶尔会发生异常。

如何安全地销毁弹出窗口?

0 投票
4 回答
3596 浏览

qt - Qml Qt Quick Control 2:在没有绑定循环的情况下缩放字体大小

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

当然,这会创建一个绑定循环。有没有办法在不创建隐藏Label元素的情况下做到这一点?

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

问候,

0 投票
2 回答
439 浏览

qt - Qt Quick Controls 2 在覆盖 Button.qml 时挂起

我正在尝试实现自己的风格,为此我想覆盖内置对象。这就是我正在做的事情:

根据文档,我相信这应该使用文件选择器自动工作。

但是,我的应用程序在启动时挂起。我的猜测是我陷入了递归导入。我该如何正确地做到这一点?

0 投票
3 回答
3284 浏览

qt - 我可以在 Qt Quick Controls 2 中全局切换到本机文本渲染吗?

我想对我的应用程序中的所有文本使用本机渲染。对于每个Text,Label等元素我可以这样做

触发原生渲染。我还可以将软件渲染器用于整个应用程序:

但是由于软件渲染器的一些错误和一些性能问题,我想避免这种情况。

是否有全局开关来更改渲染类型?

0 投票
2 回答
11725 浏览

qt - Qt Quick Controls 2 和 TableView

在 Quick Controls 2.0 应用程序中使用 TableView 可以吗?这将需要两个导入:

我会得到任何副作用吗?

另一个相关问题:TableView 似乎属于 Quick Controls 1.0 集。是吗?这是否意味着如果可以使用 TableView 那么就可以在 Quick Controls 2.0 应用程序中使用所有 Quick Controls 1.0 控件?

0 投票
2 回答
4367 浏览

qt - QML:调整复选框大小

我有 ListView 和我自己的代表。

问题是尽管 ItemDelegate 的高度,复选框不会调整大小。

我得到这个高度= 40:

在此处输入图像描述

我得到这个高度= 10:

在此处输入图像描述

我试过玩 CheckBox 的宽度和高度值 - 没有帮助。

有没有可能在不定制的情况下让它更小?

0 投票
0 回答
58 浏览

qt - QML 元素定位意外工作

这是我的自定义控件。它绘制背景。我希望它占据整个标题。但是没有一种方法有效,期望使用一些数字明确设置宽度和高度。甚至parent.widthparent.height也不起作用。

控件 - TabViewHeaderBg。

代码:

这整个控件用作 ListView 中的标题控件。

补充 #1。

TabViewHeaderBgQc 代码:

使用以下代码导入:

补充#2。

Qt 5.8、Windows 10、Visual Studio 2015。

0 投票
1 回答
1169 浏览

qml - QML:ListView 委托:项目与 MouseArea

我有以下代码:

问题在于它MyDelegate包含复选框并MouseArea从中“窃取”鼠标事件。它们根本不对鼠标事件做出反应,即不能按预期工作。

我知道...propagateComposedEvents的属性,MouseArea但我必须实现它的所有鼠标事件(clicked, pressed, released,...)并检查鼠标光标是否在复选框中以mouse.accepted相应地设置属性。

这就是我目前对所有这些的理解。有没有更简单的方法,即一种能够处理没有明确处理鼠标事件的区域的所有鼠标事件的方法?例如静态文本、进度条等。

0 投票
2 回答
4178 浏览

c++ - 转到特定页面后,如何“通过引用”将 SwipeView 的 currentIndex 设置为 TabBar 的 currentIndex?

我开始使用 QtQuick Controls 2.0。我有 C++ 的经验和少量的 Qt 经验,但我以前没有使用过 QML。

我有一个相互关联的 aTabBar和 a 。SwipeView我的意思是,当您在 上选择一个页面时TabBar,将SwipeView转到该页面。当您从 滑动到页面时SwipeViewTabBar更新本身会反映这一点。

作为学习练习,我决定创建一个按钮,将用户引导至第二页。问题是我似乎无法找到一种方法来做到这一点,而不会弄乱TabBar和之间的链接SwipeView

以下代码是我想出的最好的。它正确地进入第二页,当我用静止更新更改当前页面TabBarSwipeView。但是,滑动到新页面不再更新TabBar. 似乎设置tabBar.currentIndexswipeView.currentIndex仅在使用冒号进行初始化时具有通过引用设置的效果。这样做是通过值设置等号。如何在保持不变的同时移动到特定页面swipeView.currentIndex == tabBar.currentIndex

C++ 代码只是 Qt Creator 为我提供的默认代码: