问题标签 [qt5.3]
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.
qt - Qt 5.3.1 引入了 QSqlTableModel 和 QSortFilterProxyModel 的问题
我将 QSortFilterProxyModel 用于很多数据模型,并且效果很好。从 Qt5.3.0 更新到 Qt5.3.1 后,这部分发生了变化。
我的一个 GUI 面板使用一个 QTreeView,该 QTreeView 连接到一个 QSqlTableModel 的 QSortFilterProxyModel。SQL 模型分配给一个大约有 60000 行和 6 个公共列的数据库表。
使用 Qt5.3.0 数据加载很简单……加载数据需要几秒钟(使用任务管理器作为网络流量监视器),再用一秒钟在 QTreeView 中显示数据。
使用 Qt5.3.1 变得很痛苦......它仍然需要几秒钟来加载数据,但是在数据最终出现在视图中之前,它会阻塞整个 CPU 内核数分钟(使应用程序无响应)。
使用具有相似行数的自定义模型(源自抽象表模型)不会出现此问题。
我还尝试了一个普通的 QSqlTableModel 和一个默认构造的 QSortFilterProxyModel (这意味着根本不进行过滤)......仍然加载需要多分钟。这是我使用的代码:
我找到了两种解决方法。但是,它们的功能不足以完成我目前使用代理模型所做的事情:
- 使用 QSqlTableModel 排序和过滤(基于 WHERE 和 ORDER BY)。
- 禁用排序依据
setSortingEnabled(false);
有人知道问题吗?有更好的解决方法吗?
qt - QML 地图绑定 v2
我在 Qt 中完全是菜鸟,所以我的问题可能听起来太愚蠢了,但我真的需要帮助。我知道一点 C++,就是这样。
所以,我的任务是编写一个读取类似 INI(格式不是很重要)文件的 C++ 程序
为了清楚起见,我不知道将在此文件中定义哪些属性,在编译时我不知道名称或类型。
在该程序加载 QML 文件(我可以这样做)并将加载的文件数据(不知道如何执行此操作)作为 JavaScript 对象注入之后,例如名为“设置”,以便 QML 属性绑定将使用它
所以问题是:如何将读取的数据作为 JavaScript 对象注入 QML,以便 QML 属性绑定使用它?
linux - 在多显示器设置上设置 QWidget 全屏
我有一个带有 2 个监视器输出 (1920x1080) 的 linux 系统。我安排它们的桌面尺寸为 1920x2160。现在我想运行一个 Qt 应用程序,它以覆盖 1920x2160 桌面的全屏模式启动。我试过了:
即使我这样做:
但是如果我用鼠标手动移动和调整 QWidget 的大小,我可以将其调整为 1920x2160。我无法以编程方式做到这一点。
也许有人对我做错了什么有暗示。
提前致谢。
c++ - QTreeView 更新列号
我目前正在定制QAbstractItemModel
我遇到的问题。到目前为止,模型本身运行良好,但是如果我尝试使用 QTreeView 显示它,我会遇到问题。
模型本身能够根据其数据自行更改其列号。但是视图永远不会更新显示的列数,只会更新它们的内容。我做了超载insertColumns
:
我做了一点实验,发现如果我每次都重置并设置视图,它将显示正确的列数:
但必须有另一种方法来做到这一点。我正在寻找一个函数,它只会告诉视图列数已更改。但是我发现的唯一一个(QTreeView::columnCountChanged(int oldCount, int newCount)
)是受保护的......
javascript - ReferenceError:未定义 Float64Array - 带有 QML 的 Javascript
我没有使用任何浏览器。我正在编写 JS 代码和 QML。
错误在这一行:
我需要在 JS 的数组中存储一个浮点值。
qt - 为 QTreeView 的自定义上下文菜单获取 QStandardItem
我有一个 QTreeView 的子类。我需要其中特定项目的自定义上下文菜单。为此,我设置了上下文菜单策略并在 QTreeView 的子类的构造函数中连接了信号“customContextMenuRequested”:
现在,在槽函数“onCustomContextMenu”中,我将上下文菜单创建的位置作为 QPoint。我想得到这个位置上显示的 QStandardItem。我试过这个:
m_item_model 是一个指向 QStandardItemModel 的指针,它是 QTreeview 的这个子类中的模型。
问题是,我得到的“item_ptr”有时是错误的,或者它是 NULL。如果我的模型如下所示,它将为 NULL:
invisibleRootItem
|-item_on_level_1
|-item_on_level_2
|-item_on_level_2
|-item_on_level_2 <--这是右键单击的项目
|-item_on_level_2
我究竟做错了什么?我怎样才能得到我右键单击的项目?
c++ - 在 QTabBar 中禁用辅助滚动按钮(撕裂指示器?)
我有一个QTabBar
像这样的样子。屏幕截图未在其右侧显示箭头滚动按钮。左边的东西叫什么(看起来像撕裂的边缘)?它用作向左滚动按钮。是泪液指示器吗?我在样式表中发现了类似的东西:
我怎样才能禁用它?
^ 在这里,看起来像一个撕裂的边缘,可点击,就像向左滚动一样
备注:标签栏是自动出现的带有QDockWidget
s的,没有我自己创建的。
c++ - Qt xml:更新由ID标识的属性值
我想更新以下 xml 文件的单个属性值:
该代码通过“ID”值标识要更新的属性。ID 在前,属性(例如“名称”)紧随其后。
我的问题是,如何更新此元素中的单个值。
qt - 我可以在 Qt4 项目中使用 Qt5.3 的 QWebSocket 库吗?
我将在 qt4 项目中使用 QWebSocket 库。
但是QWebSocket是qt5.3版本。
是否可以将 QWebSocket 源文件编译为 Qt4 附加库?
qt - QScrollArea clears background color
In my qss style sheet I define a background color
Everything fine, but when I place a scroll QScrollArea
in the sw_MainMiddle
widget, the background color is gone. Obviously there is no chance to assign a background directly to QScrollArea
. Below code has no effect:
According to this question I have used object name selector to re-assign the background color to the scroll area, no effect too:
Anything I am doing wrong?