问题标签 [qtoolbar]
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 - 如何在 QGraphicsScene 中使用 QToolBar 修复 Qt QMainWindow 的可拖动区域问题
尝试将 a 添加QMainWindow
到QGraphicsScene
. 出于所有意图和目的,请不要建议我使用QMdiArea
替代方案,因为这会分散我遇到的实际问题的注意力,并且不符合我的需求。
这是一个最小的例子,它举例说明了 2 个关键问题,我认为这两个问题都可能是 Qt 错误。
主窗口.h:
主窗口.cpp:
现在,你可能会摸不着头脑,想知道我到底为什么要这样做……
tl;dr:我正在使用自QGraphicsView
定义 Dock 和分层管理器创建自定义 mdi 区域。我需要每个子窗口都有一个可停靠QToolBar
的,就像 a 一样QMainWindow
,但只有QMainWindow
开箱即用的支持这个功能。QWidget
在我上面的示例中,每个子窗口都是首要的。
在将我的子窗口的“内部”内容转换为 a 之前QMainWindow
,一切正常,即使作为 a QMainWindow
,一切仍然正常。但是,一旦我添加QToolBar
到QMainWindow
一切都开始出错。
您会在启动时注意到程序看起来正确并且QToolBar
正确放置和偏移。现在,如果您尝试拖动QToolBar
任何地方,甚至在外部QMainWindow
并执行鼠标键释放,将会发生以下两种情况之一:
该程序在我当前的系统上运行时会崩溃并有一个非常奇怪的堆栈跟踪:Qt 5.10.1 with gcc 5.2.0 on REHL
将
QToolBar
错误地捕捉到QMainWindow
. 当拖动并悬停在有效的可停靠位置上时,仔细查看预定义的矩形区域,并使用红色边框作为指导。
崩溃是不一致的,有时会在第一个拖动事件之后每隔一个拖动事件发生一次。有时它发生在你抓住的那一刻,QToolBar
而其他时候它发生在 drop 事件之后。我会添加堆栈跟踪,但每次调试器都有不同的输出。我看到了一些关于 nVidia.so 库的消息,例如:
调试器可能有超过 50 个灰显的函数回调,有时相同,有时不同。值得注意的是,我QPropertyAnimation
在这些回调中看到了混杂的情况,但不是每次都如此,所以我无法确定它,我觉得我快疯了。
现在,您可能会认为这与QMainWindow
作为 a 嵌入其中QGraphicsProxyWidget
有关,QGraphicsScene
并且只是产生了副作用……但不是。如果您只将 直接添加到场景中并使用包含它QMainWindow
的内容绕过,那么一切正常。QWidget
捕捉没有偏移问题,也没有更多的崩溃。由于这种交互,我几乎确信这是一个 Qt 错误,并希望以这篇文章为基础提交错误报告。如果我遗漏了什么或需要更新我的图形驱动程序,我会的。QMainWindow's
但是,它没有解释为什么在拖动时捕捉与橡皮筋矩形位置不匹配。
c++ - 为什么我的工具栏停靠在不正确的位置?
我有一个奇怪的场景。我创建了一个嵌入在 QGraphicsScene 中的 QMainWindow。我想在场景中有多个 QMainWindows,每个都有一个工具栏。我正在模拟一个 MDI 区域,而不使用 QMdiArea 类。
这是 MainWindow.cpp
发生的情况是 QToolBar 将在嵌入的 QMainWindow 上的正确位置生成,但是当它移动并停靠在任何地方时,它会捕捉得太远并且向左太远。我添加了大纲代码来概述工具栏,以便您可以看到工具栏框。
这是 MainWindow.h
为什么工具栏会产生这种奇怪的捕捉效果?我故意将 QMainWindow 添加到 QWidget 中,因为我正在做的事情需要它。我意识到仅嵌入 QMainWindow 具有所需的交互,但我需要将它嵌入到 QWidget 中。我也意识到没有父母对内存管理不利,但我也能处理。
我使用的是 Qt 版本 5.10.1,并且我使用 Redhat 作为我的操作系统。
python - 如何调整或缩放 QIcon?
我正在尝试扩大 QIcon,但它不起作用。
当我运行应用程序时,它似乎不起作用。我已经尝试使用 QPixmap 和直接使用 QIcon 加载图标,但无论如何它都是相同的小尺寸。
我在这里做错了什么?
python - Keep QToolbar showing always all items
lets consider the following screenshot:
You can see that the top toolbar displays 2 rows; however to do so , in need to click on the >>
at the top right (circled in red) and keep hovering hover the toolbar area, which can get a bit annoying.
Is there a way to keep the 2 rows of the toolbar always displaying?
python - 如何更改工具栏的默认位置?
我正在使用 PyQt5,QMainWindow,我想将工具栏的默认位置更改为右侧。我该怎么做?
用户可以使用鼠标将工具栏移动到窗口的边缘,但是我该如何使用程序呢?
python - 如何使工具栏中的工具按钮一次只选择一个?
QToolbar
我在一个通孔中有五个工具按钮,toolbar.addAction()
如果我选择其中一个,我想让其他按钮看起来不被选中。
示例:如果我选择“A”按钮并且程序现在处于“A”模式,其他人无法工作。
qt - 是否可以使用 QSS 为选中的 QToolButton 设置样式?
显然,这仅适用于可检查的 QToolButtons。
浅蓝色背景和边框在我的应用程序上不如浅红色背景好。(下面的代码以红色背景为例。)
我试过了:
以及QToolButton:checked
和QToolButton:active
。
我在这里,因为两者都没有工作。很难在 Qt 文档中找到任何关于此的内容。如果有的话,可能会漏掉一些东西。
是否可以通过样式表更改选中的 QToolButton 的样式?或者我是否必须在点击它们时动态更新它们的 CSS?
c++ - 如何禁用 QToolBar 中的扩展按钮?
我想知道如何禁用QToolBar中的扩展按钮,它显示为工具栏中的最后一项,当工具栏太小而无法显示所有项目时?我已经尝试通过 find child 方法,但这不起作用。