问题标签 [qt6]

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 投票
0 回答
175 浏览

qt - 跨 QML 文件(属性)共享数据

我正在编写一个应用程序,我已经设法解决了一些问题,最新的是 Screen.Width/Height 用于在不同的显示器上动态调整窗口大小(我使用笔记本电脑、手机、PC,这很方便)。

为了有效且良好地编写代码,我想获取该特定信息并将其放入一组 2 个“变量”中,然后保存该信息。

我尝试为 ApplicationWindow 对象分配一个 id:mainWindow,以便从不同的 QML 文件中调用它,以获取属性值:mainWindow.height、mainWindow.width

然后我被告知使用另一种方法,自定义 QML 属性,其声明如下:

然后我按照建议在 Main.qml(使用 AppWindow)中声明了这些属性,它确实有效。AppWindow(ApplicationWindow)的属性包含Screen的宽度和高度乘以一个特定的系数。

然后这些变量由对象本身访问,按照我想要的方式绘制应用程序窗口。

问题是这种方法旨在解决跨 .QML 文件共享代码的问题,但它并没有

[下去]

下面的代码位于 main.qml 中。它是从该文件中调用的。只是忽略 ID(ID 应该 [如用户/文档所述] 不能在本地范围之外访问......),属性(尤其是自定义属性)应该可以在 Page1、Page2、Page3 等内部访问。

下面是在 main.qml 中调用的 Page2Form.qml 文件(作为类定义)。main.qml (imo) 中父对象中声明的属性应该由子对象 (imo) 继承。

好的,那么问题是什么?我可以尝试将这些属性称为:

mainWindow.globalHeight

全局高度

主窗口高度

等等

他们不会被访问。表单编辑器将为我提供大小为 0 的 Page 对象的预览。该页面最终会呈现(编译和运行时),但在传递(访问)该属性的值时存在问题。

正如您所注意到的,ID 和自定义属性似乎都可以在本地正常工作。

更新: 我还没有解决这个问题,我也尝试过使用别名(参考),“外国”QML 文件仍然无法分配适当的大小(页面宽度和高度)。

然后我在其中放置了另一个字符串类型的自定义属性,其中包含一些文本,然后我设法在 Page2.qml 中访问该属性,并且该属性最初位于 main.qml 中。

它被窃听了,或者我不知道它是什么。

我尝试了 3 种方法:

  • ID(事实证明它不是全局的)
  • 自定义属性(一种作品,只是不与屏幕尺寸......)
  • 对象默认属性的别名(属性别名 globalWidth: mainWindow.width 属性别名 globalHeight: mainWindow.height)
0 投票
1 回答
274 浏览

c++ - 替换 QTime::elapsed()

我想以秒为单位绘制时间sin(t)t

这是我在文档中的代码变体:https ://www.qcustomplot.com/index.php/demos/realtimedatademo 但elapsed已经过时了,我应该改用什么?

0 投票
0 回答
44 浏览

qt - Customizing SpinBox object in QtQuick2

I am trying to customize SpinBox in order to make it horizontal, not vertical (as default behavior).

I found a hint online, as to how draw some rectangles and bind them as buttons. The code below is what I tried to implement as my variation, it's still in progress. I wanted to add icons later etc.

The problem is, I can't find anything wierd in here, yet the object gets rendered just ugly and bizarre.

#xA;

The size declarations, the object code.

#xA;

You can notice this vertical line across the spinbox. I tried changing the height, width, placement of those buttons. I can't locate the property that is making it look ugly.

It's as if the rectangle object of SpinBox would not be taking up the width of the SpinBox, yet the SpinBox does occupy as much space I want it to.

enter image description here

EDIT: The component's code is:

#xA;

Naturally, I thought that maybe indeed the "content" is not wide enough. I changed the properties of contentItem to

#xA;

to no avail...

0 投票
1 回答
80 浏览

c++ - 取决于时间的重新绘制函数,Qt

我正在写一个研究项目,我需要绘制一个依赖于实时的函数。我使用了 QCustomPlot。当我按下按钮时,该图应该开始绘制。所以我写了下一个代码

realtimePlot()好像

它工作正常,但是当我想重新启动绘图并再次按下按钮时,在绘制绘图之前会有一个延迟,并且随着每次单击按钮而增加,并且绘图的动画变得越来越不流畅。为什么会发生这种情况,我该如何解决?

在这里,您可以观看我的截屏视频。

我从这里获取的实时绘图代码

MainWindow()

0 投票
0 回答
43 浏览

qt - 如何将组件导入 QtQuickDesigner?

我正在尝试学习 Qt 版本 6,并且我的书让我导入 QtQuick Controls。这本书说要单击“库”窗格中的“导入选项卡”,并显示包含该选项卡的屏幕截图。(几乎我能找到的每个网络资源都说同样的话,并带有类似的屏幕截图。)

不幸的是,我安装的 Qt-Creator 版本 4.15.1(随 Qt 6 一起安装)在库窗格中没有 Imports 选项卡。这是我的库窗格的样子: 库窗格的屏幕截图

是的,看起来控件已经被导入了,但是我没有通过 UI 来做,它发生在一个实验期间。导入控件的是:

  1. 我手动编辑了.ui.qml文件以添加该行
  1. 我建立了这个项目

这导致 QtQuick 控件出现在 Library 窗格中。

这肯定不是导入控件的正常方式,是吗?

0 投票
1 回答
359 浏览

debian - 交叉编译 QT6,configure 无法识别目标上已安装的包/库

我在使用编译器和交叉编译器从 git 构建 QT6.2 的本机靶心机器上,该编译器和交叉编译器打包在靶心 cmake 版本 3.21 中

首先,我使用为主机构建 QT

配置,构建和安装工作正常

对于交叉编译,我将目标 rootfs sshfs 到:/home/jgnoss/Devel/bbb/sysroot 然后尝试

配置运行良好,但未能检测到安装在目标上的包/库

例如:配置的输出

在目标上运行

这只是一个例子,有很多包/库没有被检测到

任何想法如何解决?

谢谢菊

编辑:我使用的 cmake 工具链文件是:

0 投票
0 回答
264 浏览

qt - 为树莓派交叉编译 QT6

我想为 RaspberryPi 交叉编译 QT6。但我不会让它工作。

我用来配置源的命令是:

路径是正确的,但我得到了这个输出:

该脚本将其配置为 x86_64 而不是 arm。我的问题在哪里?

主机系统是 Linux Mint

0 投票
0 回答
65 浏览

qt - 创建圆形文本字段时,QML 文本不在文本字段的中心

下面的代码创建一个圆形的 TextField

以下代码的问题,文本不在中心它由于某种原因向上移动,我尝试了许多不同的方法,比如锚定背景矩形以适应父级,但它不起作用,使用verticalAlignment: TextField.AlignVCenter不正常

另一个问题是我有相同的确切文本字段,但我用来echoMode: TextField.Password制作密码,密码点太大了,我尝试减少字体但文本在转换为点之前也会减少,所以如何只减少点而不减小文本大小,以便用户在字符转换之前看到他们用大字体书写的内容,这里是它在 Android 上的外观

在此处输入图像描述

并且再次将文本向上移动并用于字符的点,并且永远不会在文本内居中。

使用 QT 6.2

0 投票
1 回答
68 浏览

c++ - Qt6拆分QString

*编辑:我试图在 QT6 方面使用这个问题来自读取由逗号分隔的 CSV 文件,以及在引号中嵌入逗号。例子:

我想要做的是点击一个按钮,打开example.csv和另一个带有价格或数量的csv文件并编辑example.csv。我试过 split() bc 我读到你可以使用字符串作为 split 的参数,并尝试在分隔符的逗号后添加 *,并将 ",*" 作为参数传递..但是它仍然在嵌入的逗号处拆分。

完成这项工作的最佳方法是什么?

0 投票
1 回答
68 浏览

c++ - QT:如何在 QMenuBar 的项目鼠标悬停时触发“粗体”

我正在使用 Qt6 创建一个跨平台的 GUI 应用程序。我正在设计器模式下使用自动生成的 QMenuBar 对象。我想将 QMenuBar 项目(文件、编辑、帮助..)更改为粗体和红色。

我在 MainWindow 对象的 StyleSheet 编辑器中使用以下代码:

该代码可以很好地更改文本的颜色,但它没有按照我的意愿将字体设置为“粗体”。此外,尝试更改字体大小也不起作用。

我错过了什么?

先感谢您!!