问题标签 [qt5.15]

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 回答
25 浏览

qt - 如何将文件从 Qrc 保存到应用程序目录

我正在使用 Qt 5.15.1。

如果我的 Qt 应用程序的 qrc 文件中有一个文件,是否可以将该文件保存到应用程序的目录中,以便我可以将该文件用作文件系统上的普通文件?

在上面的代码中,我怎样才能保存my_filemy_app_dir

环境:
MacOS Catalina
Qt:商业版 5.15.1

0 投票
1 回答
28 浏览

qt - 应用删除文本后,组合框的下拉菜单不会调整大小

我正在重新实现paintEventQComboBox 和paint委托,基于QStyledItemDelegate. 问题出在我的代码上,文本被省略了,但背景的大小没有。可能是什么原因,哪个对象负责这个背景?

委托的paint重新实现方法:

有什么建议么?

在此处输入图像描述

0 投票
1 回答
35 浏览

qt - Qt QML 将元素放在抽屉上方

我正在努力解决一个非常基本的问题..

使用 QT 5.15.2:

我们有一个简单的应用程序,它有一个主窗口和 2-3 个子窗口(从主窗口向下一层)。主窗口由一个内容项、一个标题和一些分布在主窗口中的菜单襟翼组成。到目前为止,子页面是用抽屉元素打开的。

但是,抽屉一旦打开就会覆盖翻盖和头部,我们需要重新实例化抽屉内的翻盖和头部以使其可见。这不是很好。有什么方法可以定义打开抽屉的 z 级别吗?(显然设置 z 不起作用)。

0 投票
2 回答
49 浏览

qt - 当 QML 项目的尺寸发生变化时如何得到通知?

我知道我可以知道 QML 项目的宽度或高度是否使用插槽onWidthChangedonHeightChanged. 这是通过执行以下操作。

导入 QtQuick 2.12

以上效果很好。但我只想知道我的 QML 项目的尺寸是否发生了变化。当宽度或高度发生变化时,我只需要一个回调。我不需要两者的回调。
是否有 QML 信号仅用于监听尺寸变化?

我使用的是Qt 5.15.7商业版。

0 投票
1 回答
37 浏览

regex - Qt 使用哪种标准的正则表达式?

我使用https://regex101.comhttps://www.regextester.com来检查我的正则表达式。我认为 Qt 使用 PCRE 或 PCRE2,但有时它不会按预期工作。这让我觉得 Qt 使用了其他版本的正则表达式标准。它是哪一个?

0 投票
1 回答
37 浏览

qt - 如何检测 QML 项目的大小更改何时完成或停止?

我有一个针对 Qt 5.15.8 编写的 Qt 应用程序。我在上面声明了 QML 项目。我知道以下是我可以弄清楚我的 QML 项目何时调整大小的一种方法。基本上我会知道何时更改宽度或高度。

问题:
有什么方法可以让我知道宽度或高度或尺寸更改何时完成或停止?由于我的代码内部原因,当我的 QML 项目的大小发生变化时,我必须进行繁重的处理。我想在尺寸更改完成后触发繁重的处理。有没有办法确定尺寸更改何时完成?

如果 Qt/QML 没有内置事件,是否也欢迎使用智能 C++ 或 QML 技巧来回答?

0 投票
0 回答
54 浏览

qt - 向 QSortFilterProxyModel 添加新列时出现问题:列移位

我正在尝试向代理模型添加一列。

长话短说,我正在使用方法在重载setSourceModel方法中添加一列QSortFilterProxyModel::insertColumn()

。H

.cpp

然后我们在一个表中使用这个模型:

。H

.cpp

结果: 对于任何输入,列右侧已编辑行中的所有单元格都向左移动一个单元格。

在此处输入图像描述

我发现了什么:

  1. QSortFilterProxyModel::data在任何更改之前和之后显示不同的值。如果我禁用QSortFilterProxyModel::setData()它不会改变。但当然,它不设置数据。 setData()肯定会发出信号。
  2. 代表也换了。如果我在行移动后输入,它将正确插入到 SQL
  3. 当然,移位发生添加的列之后,而不是之前。

UPD 1:班次由 触发QTableView::commitData(editor);,因此一旦工作,该行就会用班次重绘。

UPD 2:我尝试在模型中添加一列,在我的情况下是QSqlRelationalTableModel.

结果:相同,见图:

在此处输入图像描述

UPD 3:我尝试对底层做同样的事情QSqlRelationalTableModel,但事实证明是不成功的。完全一样的效果。

0 投票
0 回答
13 浏览

c++ - QwtScaleWidget::getBorderDistHint() 返回错误的边框距离

我创建了一个基于 QwtScaleWidget 的时间线小部件以将其呈现在图像中。如果我不显示此小部件widget.show(),则 QwtScaleWidget::getBorderDistHint() 方法会返回错误的边框距离。也许你知道它为什么会发生?

0 投票
0 回答
15 浏览

c++ - 更改现有 QChart 轴的对齐方式

给定一个现有的QAbstractAxis,有没有办法改变它的对齐方式(Qt 5.15.2)?

例如,假设我有一个图表和一个按钮,当按下该按钮时,应该在图表的左侧和右侧之间切换 Y 轴:

我的目标是实现这个功能:

有什么方法可以方便地做到这一点吗?

到目前为止,我能够弄清楚的唯一方法不符合我的“改变现有QAbstractAxis的对齐方式”的目标,而且只是......太多的代码只是为了改变一个美学属性:

  1. 创建轴的新副本——这是一项不平凡的(在某些情况下是不可能的)任务,尤其是在需要支持任意QAbstractAxis衍生轴的情况下。将所需的新对齐方式传递给构造函数。
  2. 创建现有轴附加到的所有系列的列表(如果您有多轴图表,则需要)。
  3. 从图表中删除现有轴。
  4. 将新轴添加到图表中。
  5. 将新轴重新连接到使用旧轴的所有系列。

const对齐属性是并且是构造函数参数对我来说有点奇怪,但是,谁知道...