问题标签 [qdockwidget]

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

c++ - QDockWidget 不保持大小

我的主窗口中有 3 个 QDockWidgets。初始化时一个停靠在窗口顶部,另外两个并排停靠在窗口底部。中央小部件被隐藏。

最初一切都是预期的大小,但是当我关闭停靠在底部的两个 QDockWidget 实例并再次重新打开它们时,它们的高度更小,顶部的小部件更大。

如果我取消停靠有问题的小部件并经历相同的过程,那么尺寸会按预期保持 - 只有当它们停靠时,高度才会丢失。

有任何想法吗?

谢谢,艾伦

0 投票
1 回答
3181 浏览

qt - Qt - 如何在顶部而不是底部显示选项卡式dockwidget的选项卡

在 Qt 中,您可以标记 dockWidgets。如果我这样做,选项卡将显示在dockWidgets 的底部,如左草图所示。这是我在使用最新 Qt4 和 PyQt4 的 Windows 7 下得到的行为。我如何告诉 Qt 将选项卡放在dockWidgets 顶部,如右草图所示?

0 投票
0 回答
906 浏览

qt5 - QDockWidget 起始尺寸

我有点坚持认为它应该是一个简单的问题。

我有几个 QDockWidgets 的 QMainWindow。QDockWidget(我的代码中的_tree_dock)从 LeftDockWidgetArea 开始。它包含一个 QWidget (dockWidgetContents_2),其中包含一个 QTreeWidget (_tree_view)。我可以在运行时调整 QDockWidget 的大小/移动,没有任何问题,但是,当程序启动时,QDockWidget 有点太小了。

我可以将 QDockWidget 缩小很多,所以我知道它不是最小值(200)。它也可以做得更大,所以它也不是最大值。当我启动 Qt Designer 时,宽度始终为 258。

我在几个方法中输入了一些调试输出,看到宽度开始为 200。然后在调用 changeEvent(QEvent *) 时,宽度突然变为 258!

changeEvent() 输入:dock 的宽度为 200,其中事件为 105

changeEvent() 退出:dock 的宽度为 200,其中事件为 105

changeEvent() 输入:dock 的宽度为 258,其中事件为 99

changeEvent() 退出:dock 的宽度为 258,其中事件为 99

我把输出作为changeEvent的第一行和最后一行。根据文档,这些事件代码是:

我猜大小在创建完成后会更新?我试过在 QDockWidget 和 QTreeView 上调用 resize 但它们似乎没有做任何事情。或者它们只是被调整为 258 所覆盖。

我几乎需要宽度为 265。默认情况下,树视图中的一列是半隐藏的。如果没有“简单”的方法来做到这一点,那么另一种方法就是让第一列稍微小一点。

下面是带有扩展坞的 ui 文件的片段。


0 投票
1 回答
2391 浏览

c++ - QDockWidget - 浮动时没有边框的窗口

赢 7,Qt 5.3

我在我的应用程序中使用 a QDockWidget。按预期工作。

现在我通过设置setTitleBarWidget(new QWidget(this))为默认构造的小部件来隐藏标题栏。这是根据 Qt 文档的标准方式。也可以,标题栏不见了。

为了将我的小部件取消停靠为窗口,我使用myDockWidget->setFloating(true)(在我自己的插槽中)。但是现在,当小部件取消停靠时,浮动窗口不再有边框(因此无法移动)。

如果我注释掉setTitleBarWidget,也myDockWidget->setFloating(true)可以。所以原来的标题栏似乎包含了一些逻辑。但是,通过查看源代码,我找不到任何特别之处。

任何提示我可以做些什么来克服这个问题?

0 投票
3 回答
1982 浏览

c++ - 隐藏 Qt 选项卡的标签文本而不将文本设置为空字符串

我只需要一个QTabWidget带有图标的:

如何在 Qt 中隐藏选项卡的标签文本?我无法将文本设置为空字符串 ( ""),因为我正在使用停靠的小部件 ( QDockWidget),并且标签文本是自动设置的(如果小部件是浮动的,我需要它)。

但在选项卡模式下,我只想显示(选项卡的)图标。可能的方法:

  1. 字体大小为0?
  2. 我需要创建自己的栏类并覆盖此处的绘制事件

有什么更简单/更清洁的吗?

- - 编辑 - -

好的,“将窗口标题设置为空字符串,并将其重置为原始文本”方法有效。我正在topLevelChanged为此使用信号。但是,它有一些缺点,因为空文本仍然占用一些空间。另一个问题,文本工具提示消失了,我无法将其设置回来。

仍然占用了一些空间

我目前正在尝试的是介于“文本空”和普拉萨德席尔瓦的方法之间的东西。我尝试识别选项卡内的文本标签并将其大小设置为 0,然后将其重置。它略有不同,但会保持文本完整。

顺便说一句,我在标签顶部看到一条线,知道这是什么(它来自哪里)吗?编辑:似乎没有“简单的方法”(样式表,属性),请参阅隐藏 QTabBar 中的底线

也许我会自己创建整个标签栏,因为自动生成的东西太难处理了(同意 PS 的观点)。

0 投票
0 回答
186 浏览

qt - 在点击时设置不同的标题作为 QDockWidget 的标题

我目前正在 PySide 中编写一个应用程序,我希望有多个 DockWidgets 可供用户自由移动。

在我的 DockWidget 的标题中,我希望有一条实心黑线并且没有文本,但是在有一些 DockWidgets 选项卡的情况下,我希望它们在选项卡上并且仅在选项卡栏上显示标题。对于普通标题,我使用了一个只有一种背景颜色的小部件(在 css 文件中设置......)。有谁知道完成这项工作的简单方法?

提前致谢!

Dockheader 中的黑条,但 Tap 中没有标题...

0 投票
1 回答
1878 浏览

c++ - 浮动子 QMainWindow(QMainWindow 作为主 QMainWindow 的子窗口小部件)

我使用 aQMainWindow作为我的 main的孩子QMainWindow。这样我就得到了另一个可以用于可停靠小部件的区域(QDockWidget)。

根据以下帖子,这没关系,它对我也很有效。

  1. https://qt-project.org/forums/viewthread/17519
  2. http://www.qtcentre.org/threads/12569-QMainWindow-as-a-child-of-QMainWindow

为了使QMainWindow行为像一个正常的小部件,我取消了窗口标志,这个技巧在上面的一篇文章中提到。

现在我还希望能够QMainWindow使用它所有停靠的小部件来浮动这个孩子。换句话说,我想恢复“使其成为普通小部件”的步骤。不幸的是,这不起作用。它从主窗口消失了,但根本不可见。

有什么办法解决吗?

相关:ab

0 投票
1 回答
1777 浏览

qt - 无法从外部 QSS 样式表文件为 QDockWidget 设置边框

我想QDockWidget使用外部QSS文件为 a 添加边框。

这就是我所拥有的:

QDockWidget 无边框

这就是我想要的:

在此处输入图像描述

我试过使用:

但它根本不起作用;

如果我通过右键单击QDockWidget并选择使用设计器并在对话框中Change stylesheet使用border: 5px solid red;,一切正常。但我想使用外部QSS文件。

是否可以将QSS文件附加到我的小部件并根据需要为其加边框?

0 投票
2 回答
836 浏览

c++ - 调整 QMainwindow 的大小以适应 Qdockwidget 的大小

我有一个QMainWindow和一个QDockWidget嵌套在这个里面。

我展示了一些图表,所以QDockWidget扩展但QMainWindow保持它的初始大小,所以我必须使用我的鼠标调整它的大小。

那么,我怎样才能每次都QMainWindow调整大小呢?QDockWidget

0 投票
0 回答
337 浏览

c++ - Qt - 设置 DockWidget 开始大小

我目前正在从事 Qt 的一个项目。该项目包括一个名为“ProjectExplorer”的 DockWidget。我用这种技术显示这个: FPHMainWindow.h

FPHMainWindow.cpp中:

但是现在如果我启动程序,它看起来像这样:

http://i.stack.imgur.com/7vAag.png

但我想要一个宽度:388,高度:477 开始!我该如何解决这个“问题”?

谢谢,查尔斯