问题标签 [qt5.6]

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

qt - 如何在qt中的QToolBar元素中更改鼠标悬停时QAction Qt的图标?

我的 QToolBar 中有一些 QActions。QAction 没有任何样式表,所以我试图在鼠标悬停时更改 QAction 图标。如何更改鼠标悬停时的 QAction 图标

0 投票
0 回答
340 浏览

android - Android下如何使用TextArea?

我正在尝试使用TextArea控件构建一个带有一些可编辑文本的基本页面。在桌面(Windows)下一切正常,但 Android 存在一些问题。

Q5.6/windows mingw。android-23 构建,最低 API 16/目标 23 (Android 6.0)

问题是:

  1. 如果我将其子类化,TextAreaStyle它会破坏 Android。选择句柄消失(在其他怪异中)。

  2. 使用富文本,链接不可点击,即使是onLinkActivated. 他们在桌面上工作正常。滚动一点后,链接下划线也会消失。

  3. Android 上没有剪切和粘贴弹出窗口。我已经看到这个作为 QT 错误发布了。在这方面有任何进展,或解决方法。我已经看到了 Qt5.4 的解决方法,但这不适用于 5.6。

main.qml:

我正在与所有这些问题作斗争,只是为了得到一个简单的文本页面。

要点代码,https://gist.github.com/anonymous/e5a9e9751e10db22695e2643e8191292

感谢您的任何帮助和建议。

0 投票
0 回答
166 浏览

c++ - Qt 5.6 的鼠标事件或位置问题

我在我们的 Qt Windows 应用程序上遇到了一个非常奇怪的 UI 问题。自从从 Qt 5.3.1 升级到 5.6.0 以来,一些小部件变得无法点击,直到我调整它们的父级(QDialog、QWizard 或简单的 QSplitter)。这包括 QPushButtons、QRadioButtons、QCheckBoxes 等。奇怪的是,这只发生在我和其他开发人员的机器上——所有其他开发人员都没有遇到这个问题。我在想这可能与安装了多个版本的 Qt(我有 4.8.、5.3.1 和 5.6.0)有关——但这似乎不太可能(而且所有其他开发人员也有多个版本)。我们在 Windows 7 上使用 VisualStudio 2015。

我附上了一些小代码,可以 100% 地为我重现问题,但可能会或可能不会在其他机器上。对我来说会发生什么,当我单击“单击”按钮并弹出 QWizard 时,我无法单击“取消”按钮(启用后也无法单击“完成”按钮)-鼠标事件似乎没有在全部。不过,我可以单击右上角的 X。如果我在任何方向调整 QWizard 的大小,那么我可以单击“取消”按钮。

一个可能的线索是,在有这个问题的 QDialogs 上,QComboBoxes 的行为也很奇怪——弹出视图显示在一个奇怪的位置(下面的屏幕截图)。同样,如果我调整父级的大小,弹出视图会显示在预期的位置。这可能表明在某处(相对位置)未正确设置位置或父对象存在一些问题,但我不确定从哪里开始。

它似乎确实与以某种方式设置父级有关,因为使用附加的示例,如果我添加向导页面:

或者

使组合框的弹出视图如下所示: 捕获2

使用时:

使它看起来像这样: 在此处输入图像描述

不过,仍然不确定根本原因是什么。文件附在下面。

源文件和头文件

0 投票
1 回答
1212 浏览

c++ - Qt5.6 绘制多行文字

我想绘制一个带有对齐选项的多行文本字符串,Qt 中的任何 drawText 函数都处理这个吗?

我想传递一个带有对齐选项的字符串“LINE 1\nLINE 2\nLINE 3\n”,并在指定的 X、Y 点周围绘制文本。

到目前为止,我将字符串拆分为“\n”,然后单独绘制线条。

我还需要计算绘制文本所需的边界矩形,这样我就可以创建一个带有几何图形的小部件来包含文本。

我已经搜索了一个解决方案,并在几个网站上阅读了 QPainter::drawText 将执行此操作的内容,但是当我将 drawText 与包含 \n 的字符串一起使用时,我得到一行文本,其中 \n 显示在显示器上。

0 投票
1 回答
635 浏览

c++ - QFontMetrics boundingRect

我遇到了 QFontMetrics 'boundingRect' 函数的问题,它没有返回正确的结果。

在调试器中,rctLine 包含:

这非常令人困惑,我希望 x1 和 y1 都为 0,因为没有传递参考位置,我希望 x2 和 y2 都是正数。

返回的矩形不正确,如果我将它与 drawText 和对齐一起使用,则显示中缺少部分字符串。

我知道还有其他关于此函数如何返回错误结果的帖子,我已经看过这些帖子,但它们对我没有帮助。

我在 RedHat 7.2 上使用 Qt5.6。

我也试过:

其中 pobjParent 是父小部件, rctParent 包含:

intAlign 包含 33(左,上)

在这种情况下,rctLine 返回:

但是边界矩形仍然很小,渲染时缺少部分“S”。

QFontMetrics 上的官方 Qt 文档

0 投票
1 回答
1340 浏览

qt - 为样式表启用自己的小部件

我想为样式表启用我自己的小部件类,我不是在谈论setStyleSheet(qss)qss 样式表中的选择器。据了解,我必须将命名空间中的“::”替换为“--”

在这里(自定义小部件的 Qt 样式表)我发现了一个类似的问题,但它已经超过 4 年了。根据答案,我有一些详细的问题:

a)来自https://stackoverflow.com/a/8817908/356726的已发布方法是否paintEvent仍然有效(Qt5.6/5.7)

b)据说在同一个线程(https://stackoverflow.com/a/22094319/356726)中,我不需要覆盖paintEvent。好的,引导我:b1)无论如何覆盖它是否有害paintEvent,即使使用QFrame?b2) 其他基类是什么,例如QTableView?是什么让QFrame担任这个特殊角色?

c)有没有人找到关于该主题的官方 Qt 文档。很好的代码,但它来自哪里?在这里)老实说,我不明白它的作用。

- 编辑 -

丹尼尔在这里指出了那个神奇paintEvent片段的来源(段落)。有趣的是,同样的(“仅支持 ..”)被说成 for ,这可能意味着我也必须在那里使用该片段。我不明白为什么他们不默认将该片段添加到of中。QWidgetQDialogpaintEventQWidget

0 投票
2 回答
1625 浏览

qt - 如何在 Qt 5.6 中在高 DPI 屏幕上使 svg 图标再次清晰

从 Qt 5.4 升级到 Qt 5.6 使我所有的 .svg 图标变得模糊/像素化。我注意到这只发生在高密度屏幕上,比如我的 MacBookPro Retina 显示器。我在 Qt 5.6 中阅读了High DPI supportQT_AUTO_SCREEN_SCALE_FACTOR=1的文档,并设置了环境变量,但效果不大。有人有这个问题吗?我还发现了这个可能与我的问题有关的错误报告。

编辑1:

一个简单的例子是:

0 投票
0 回答
1040 浏览

c++ - Mac OS X 上 Qt 小部件应用程序中的小字体

我的 Qt 小部件应用程序在 Linux 和 Windows 上运行良好。在 Mac OS X 上它可以工作,但所有字体看起来都要小得多(与 Windows/Linux 相比)。

正确调整它的最佳方法是什么?一些想法:

  1. 我可以使用一些“秘密”参数来获得类似的印象吗?我可以通过 API 设置 QT_AUTO_SCREEN_SCALE_FACTOR 行为吗?用于 HI DPI
  2. 使用样式表是全局调整整个应用程序字体的最佳方式吗?
  3. 我可以以某种方式计算 Windows/Max OS X 字体之间的比率,以便我知道所有 Windows8pt字体都必须12pt在 Mac OS X 上吗?
  4. 还是在 Mac OS X 上更改字体系列更好(是否有字体系列给我与 Windows / Linux 上相同的视觉印象)?

相关:我确实明白这个问题已经被问过了,但所有这些都是指更旧的 Qt 或 Mac OS X 版本。所以我才敢再次提起这个话题。

编辑:视觉印象

不幸的是,我手头没有完美的截图,但这就是它的样子。Windows 和 Linux 版本几乎像素相同。Mac 字体显得太小(MAC OS X 右侧,Windows 左侧),在整个应用程序中都是一样的(表格视图,....)

视窗 macOS

目前我确实通过样式表设置字体。所以字体是8pt,没有像素大小。当我12pt在 Mac OX X 上将其设置为(反复试验)时,表示近似于 Windows/Linux。

0 投票
1 回答
1034 浏览

c++ - 使用继承信号解决 Q_PROPERTY NOTIFY

众所周知,继承的信号不能用作Q_PROPERTY NOTIFYer ( https://bugreports.qt.io/browse/QTBUG-7684 )。作为一种解决方法,我在派生类中使用了一个额外的信号,该信号在基信号被触发时被触发。基类:

对于派生类:

有没有更好/更优雅的解决方案来做到这一点?

0 投票
1 回答
150 浏览

c++ - 从 C++ 中检测静态添加的 QML 子项

QML 代码:

C++代码:

这是一个关于这个问题的旧讨论:http: //comments.gmane.org/gmane.comp.lib.qt.qml/1677

如何检测到这些静态声明项的添加?