问题标签 [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.
c++ - QDockWidget 不保持大小
我的主窗口中有 3 个 QDockWidgets。初始化时一个停靠在窗口顶部,另外两个并排停靠在窗口底部。中央小部件被隐藏。
最初一切都是预期的大小,但是当我关闭停靠在底部的两个 QDockWidget 实例并再次重新打开它们时,它们的高度更小,顶部的小部件更大。
如果我取消停靠有问题的小部件并经历相同的过程,那么尺寸会按预期保持 - 只有当它们停靠时,高度才会丢失。
有任何想法吗?
谢谢,艾伦
qt - Qt - 如何在顶部而不是底部显示选项卡式dockwidget的选项卡
在 Qt 中,您可以标记 dockWidgets。如果我这样做,选项卡将显示在dockWidgets 的底部,如左草图所示。这是我在使用最新 Qt4 和 PyQt4 的 Windows 7 下得到的行为。我如何告诉 Qt 将选项卡放在dockWidgets 顶部,如右草图所示?
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 文件的片段。
c++ - QDockWidget - 浮动时没有边框的窗口
赢 7,Qt 5.3
我在我的应用程序中使用 a QDockWidget
。按预期工作。
现在我通过设置setTitleBarWidget(new QWidget(this))
为默认构造的小部件来隐藏标题栏。这是根据 Qt 文档的标准方式。也可以,标题栏不见了。
为了将我的小部件取消停靠为窗口,我使用myDockWidget->setFloating(true)
(在我自己的插槽中)。但是现在,当小部件取消停靠时,浮动窗口不再有边框(因此无法移动)。
如果我注释掉setTitleBarWidget
,也myDockWidget->setFloating(true)
可以。所以原来的标题栏似乎包含了一些逻辑。但是,通过查看源代码,我找不到任何特别之处。
任何提示我可以做些什么来克服这个问题?
c++ - 隐藏 Qt 选项卡的标签文本而不将文本设置为空字符串
我只需要一个QTabWidget
带有图标的:
如何在 Qt 中隐藏选项卡的标签文本?我无法将文本设置为空字符串 ( ""
),因为我正在使用停靠的小部件 ( QDockWidget
),并且标签文本是自动设置的(如果小部件是浮动的,我需要它)。
但在选项卡模式下,我只想显示(选项卡的)图标。可能的方法:
- 字体大小为0?
- 我需要创建自己的栏类并覆盖此处的绘制事件
有什么更简单/更清洁的吗?
- - 编辑 - -
好的,“将窗口标题设置为空字符串,并将其重置为原始文本”方法有效。我正在topLevelChanged
为此使用信号。但是,它有一些缺点,因为空文本仍然占用一些空间。另一个问题,文本工具提示消失了,我无法将其设置回来。
我目前正在尝试的是介于“文本空”和普拉萨德席尔瓦的方法之间的东西。我尝试识别选项卡内的文本标签并将其大小设置为 0,然后将其重置。它略有不同,但会保持文本完整。
顺便说一句,我在标签顶部看到一条线,知道这是什么(它来自哪里)吗?编辑:似乎没有“简单的方法”(样式表,属性),请参阅隐藏 QTabBar 中的底线
也许我会自己创建整个标签栏,因为自动生成的东西太难处理了(同意 PS 的观点)。
qt - 在点击时设置不同的标题作为 QDockWidget 的标题
我目前正在 PySide 中编写一个应用程序,我希望有多个 DockWidgets 可供用户自由移动。
在我的 DockWidget 的标题中,我希望有一条实心黑线并且没有文本,但是在有一些 DockWidgets 选项卡的情况下,我希望它们在选项卡上并且仅在选项卡栏上显示标题。对于普通标题,我使用了一个只有一种背景颜色的小部件(在 css 文件中设置......)。有谁知道完成这项工作的简单方法?
提前致谢!
c++ - 浮动子 QMainWindow(QMainWindow 作为主 QMainWindow 的子窗口小部件)
我使用 aQMainWindow
作为我的 main的孩子QMainWindow
。这样我就得到了另一个可以用于可停靠小部件的区域(QDockWidget
)。
根据以下帖子,这没关系,它对我也很有效。
- https://qt-project.org/forums/viewthread/17519
- http://www.qtcentre.org/threads/12569-QMainWindow-as-a-child-of-QMainWindow
为了使QMainWindow
行为像一个正常的小部件,我取消了窗口标志,这个技巧在上面的一篇文章中提到。
现在我还希望能够QMainWindow
使用它所有停靠的小部件来浮动这个孩子。换句话说,我想恢复“使其成为普通小部件”的步骤。不幸的是,这不起作用。它从主窗口消失了,但根本不可见。
有什么办法解决吗?
qt - 无法从外部 QSS 样式表文件为 QDockWidget 设置边框
我想QDockWidget
使用外部QSS
文件为 a 添加边框。
这就是我所拥有的:
这就是我想要的:
我试过使用:
但它根本不起作用;
如果我通过右键单击QDockWidget
并选择使用设计器并在对话框中Change stylesheet
使用border: 5px solid red;
,一切正常。但我想使用外部QSS
文件。
是否可以将QSS
文件附加到我的小部件并根据需要为其加边框?
c++ - 调整 QMainwindow 的大小以适应 Qdockwidget 的大小
我有一个QMainWindow
和一个QDockWidget
嵌套在这个里面。
我展示了一些图表,所以QDockWidget
扩展但QMainWindow
保持它的初始大小,所以我必须使用我的鼠标调整它的大小。
那么,我怎样才能每次都QMainWindow
调整大小呢?QDockWidget
c++ - Qt - 设置 DockWidget 开始大小
我目前正在从事 Qt 的一个项目。该项目包括一个名为“ProjectExplorer”的 DockWidget。我用这种技术显示这个: FPHMainWindow.h
在FPHMainWindow.cpp中:
但是现在如果我启动程序,它看起来像这样:
http://i.stack.imgur.com/7vAag.png
但我想要一个宽度:388,高度:477 开始!我该如何解决这个“问题”?
谢谢,查尔斯