草庐IT

qdockwidget

全部标签

c++ - 为 QDockWidget 禁用分隔光标

我有以下小部件结构。CDockWidgetInfoBar只是一个QDockWidget派生类当我移动到QDockWidget(CDockWidgetInfoBar)上时,我看到了这个分隔光标。它是从哪里来的?我可以禁用它吗?它是QDockWidgetLayout的一部分吗?但是,QDockWidgetLayout是Qtprivate不得使用。有什么想法吗? 最佳答案 这对系统来说似乎是不可能的或极其痛苦的。我在这里尝试这样做:HowcanIpreventtransformcursortoSplitHCursorwhenit'sund

c++ - 创建一个根据内容调整大小的 QDockWidget

我有一个应用程序,需要在运行时根据用户输入以编程方式将固定大小的子窗口小部件添加到停靠窗口小部件。我想将这些小部件添加到Qt::RightDockArea上的停靠栏,从上到下直到空间用完,然后创建一个新列并重复(基本上只是流程布局示例的相反here,我调用fluidGridLayout)我可以让停靠栏小部件使用事件过滤器适本地调整自身大小,但调整后的停靠栏的几何形状不会改变,并且一些小部件绘制在主窗口之外。有趣的是,调整主窗口的大小,或者float和取消float停靠栏会导致它“弹出”回到正确的位置(但是我还没有找到一种方法来以编程方式复制它)我不能使用任何内置的QT布局,因为在我的真

c++ - 防止 QDockWidget 自动调整大小行为

Qt5.5.0在我的应用程序中,我有一个QGraphicsView作为主要小部件和一个QDockWidget作为属性。目标是让用户在图形View中选择一个项目,并根据项目显示该项目的适当属性。我通过拥有一个属性管理器小部件以及包含每个属性小部件的布局来实现这一点。我连接了信号和插槽以获取当前选定的项目,然后显示()我需要的小部件并隐藏()其余部分。这很好用!However,whenselectingdifferentitems,thedockshrinksorgrowsbasedontheshownwidget.这非常刺耳,而且很烦人。问题是,当用户手动调整停靠栏大小时,它会保持该大小

c++ - Tabify 3 QDockWidget

如何在QMainWindow中为3个小部件创建一个标签化停靠栏?我正在使用下面的代码:widget1=newQDockWidget(this);widget1->setObjectName("name1");addDockWidget(Qt::LeftDockWidgetArea,widget1);widget2=newQDockWidget(this);widget2->setObjectName("name2");addDockWidget(Qt::LeftDockWidgetArea,widget2);tabifyDockWidget(widget2,widget1);widge

c++ - QMainWindow Qt5.7 中的 Force Tabbed Dock

我试图让我的QMainWindow只允许选项卡式QDockWidgets。如果我正确理解Qt文档,它应该可以与setDockOptions方法一起使用。以下代码对我不起作用:QMainWindowwindow;window.setDockOptions(QMainWindow::ForceTabbedDocks);我做错了什么?或者它是当前Qt版本中的错误?我在MacPro上编码,我使用的是Qt5.7。谢谢 最佳答案 ForceTabbedDocks仅适用于用户与停靠栏的交互。要以编程方式在选项卡中添加新停靠栏,您需要使用QMain

c++ - 如何检测标签化的 QDockWidget 是否是事件标签

我的Qt5.1应用程序中有多个停靠小部件。我想知道哪个选项卡当前处于事件状态(无论它当前是否具有焦点),但我不知道如何以编程方式获取该信息。我尝试了QWidget::IsVisible()、QWidget::IsVisibleTo(),并检查了QMainWindow::tabifiedDockWidgets()返回的列表,它排除了作为参数发送的小部件,因此无法提供顺序。有什么想法吗? 最佳答案 您可以使用以下代码检查停靠小部件的某些部分是否可见:boolreally_visible=!widget->visibleRegion().

c++ - QDockWidget 上的多个小部件

我正在制作一个小应用程序,用于使用Qt和C++对图像应用各种滤镜。我的问题是,是否可以在QDockWidget上添加多个widget?因为我想添加按钮以重新应用停靠栏上的最后5个过滤器。这是我想要实现的示例。 最佳答案 可以将多个QWidget添加到任何QWidget中。看起来你可能想做这样的事情:QDockWidgetdock(QLatin1String("Lastfilters"));QWidget*multiWidget=newQWidget();QVBoxLayout*layout=newQVBoxLayout();QPus

c++ - 如何找到 QDockWidget 标题栏的高度?

我试图找到QDockWidget标题栏的高度,以便对自定义布局进行一些智能调整,但标题栏不是一个单独的小部件,它内置于私有(private)停靠小部件的布局,并且没有成员可以访问它。有没有其他方法可以找到它的高度? 最佳答案 是的,您可以使用dock的QStyle元素的pixelMetric成员函数找到标题栏的高度。您可能还想查询边距,因为它在标题栏周围增加了空间,布局需要注意它。示例:QDockWidget*myDock=newQDockWidget;inttitleBarHeight=myDock->style()->pixel

c++ - QDockWidget导致qt崩溃

我有ubuntu11.10中内置的Qt版本。并且我正在尝试使用无法实际停靠的QDockWidget(基本上,我只想要一个float的窗口。我不想只让View成为顶级View,因为那样我就会有OS窗口栏在那里,我不想要,如果我要隐藏它,那么窗口将无法移动)。所以,我基本上创建了一个新的QtGui项目,除了mainwindow.cpp文件,我没有更改任何文件,我将其更改为:#include"mainwindow.h"#include"ui_mainwindow.h"#includeMainWindow::MainWindow(QWidget*parent):QMainWindow(pare

c++ - 如果主窗口最小化,QDockWidget 将关闭

我在Windows7Ultimate32位上使用Qt4.7。我程序的QMainWindow有一个QDockWidget。我注意到,如果我通过标题栏上的最小化按钮最小化主窗口,恢复后停靠小部件将关闭。我没有写任何对这样的功能的支持!这是如何发生的以及如何预防?谢谢。 最佳答案 我在编写自己的应用程序时遇到了这个错误。我有QDockWidget,其中包含适用于我的应用程序的选项。使用QtCreator我创建了带有QActionactionMenu的菜单,它是可检查的。然后我像这样连接QDockWidget和QAction:QObject