- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 UI 从 wxWidgets 应用程序建模到 QT。然而,在最初的应用程序中,它们有 Dock Widgets,除了占据主窗口外,它们可以固定到位并四处移动。
除了主窗口外,每个框都像是一个停靠小部件。如果我想将数据集窗口(左上角)移动到输出调整窗口的右侧,我可以:
所以现在我的目标是尝试让 QT 中的 UI 至少完成主小部件左侧的停靠小部件。在我的例子中,我至少能够通过一些麻烦来获得宽度和高度来显示相同的值。但是,我无法像输出调整那样创建 QDockWidget 并将其紧靠在其他 QDockWidget 旁边。当我尝试移动停靠小部件时,另一个问题出现了,它不会捕捉到其他小部件的右侧或左侧。
这是我遇到的问题。我无法将它捕捉到停靠小部件的任一侧。这是需要硬编码的东西吗?我知道我在网上看到过与此布局非常相似的其他示例。但是它们都是硬编码的。如果我可以随着时间的推移使用创建器添加 slider 和工具栏,那就简单多了。如果这不是我必须硬编码的东西,我该如何修改我的小部件可以捕捉的位置?我尝试制作网格布局,但是小部件没有进入网格。
最佳答案
通过在主窗口中启用停靠嵌套,您可以更灵活地放置停靠小部件,包括并排放置停靠小部件。在 Qt Designer 中,选择主窗口并在 Property Editor
面板中选中 dockNestingEnabled
复选框(位于 QMainWindow
部分)。或者,您可以通过在代码中调用方法 QMainWindow::setDockNestingEnabled
来获得相同的结果。
如果您希望您的应用程序以引用应用程序中并排排列的停靠小部件开始,您必须求助于方法QMainWindow::splitDockWidget
。例如,您可以在 Qt Designer 中创建如下所示的初始排列。
接下来,您可以在主窗口构造函数代码中重新排列停靠小部件,
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
// Changes the dock widgets arrangement.
splitDockWidget(ui->dock1, ui->dock3, Qt::Orientation::Horizontal);
splitDockWidget(ui->dock1, ui->dock2, Qt::Orientation::Vertical);
}
这将产生以下结果。
关于c++ - 修改 QDockWidget 默认捕捉位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55032196/
H 在那里。 谁能告诉我如何设置标签化的 QDockWidget 弹出到前面(作为事件停靠栏)? 在下图中,“full”选项卡被选中并且它的内容可见,但我想将“mouth”选项卡设置为所选选项卡并使其
我正在尝试创建一个专门的 QDockWidget,其中包含我可以在其他 Qt5 UI 中使用的一些内容。为此,我创建了一个带有 UI 表单的 QDockWidget 子类,名为 SpecialDock
我想知道是否有人知道是否可以拖动 QDockWidget从一个窗口到另一个窗口。 我正在开发一个有很多窗口的应用程序。每个窗口都有特定的用途。我想使用 QDockWidget 因为在主窗口中停靠小部件
我是 Qt 的新手,我正在尝试创建一个停靠在窗口右侧的 DockWidget。我为停靠栏设置了最大和最小宽度(正如您将在下面的代码中看到的那样)。如果使用 Qt::LeftDockWidgetArea
我有一个构建小部件的类,我可以将其停靠到我的主应用程序中。该类继承QDockWidget。如果愿意,这允许我停靠小部件。但是,我希望默认情况下停靠此小部件,而不是显示为单独的 float 窗口。 为了
我可以按如下方式添加 QDockWidgets: QDW1 QDW2; QDW3 QDW4; 使用代码 QDockWidget *dwidget = new QDockWidget(tr("QDW1"
我有一个 QDockWidget 类和一个 QMainWindow: // docker.hpp class Docker : public QDockWidget { Q_OBJECT pu
现在我的应用程序左侧有四个自定义的QDockWidgets。当您启动应用程序时,每一个都是可见的,但由于每一个的可见性,它们都非常小。 我希望三个 QDockWidgets 嵌套在一个主要的后面,以给
有没有一种简单的方法可以删除 QDockWidget 的调整大小句柄?我的停靠小部件无法调整大小(大小策略是固定的),因此将句柄放在那里只是多余的。 最佳答案 这个错误与 Qt 本身一样古老,我在这个
我有一个以 QDockWidget 作为主要小部件的 QTDesigner 对话框。当我将它停靠到主窗口并显示对话框时,它会自动自动隐藏,但允许我使用鼠标显示/隐藏它。我想默认保持可见。如果我使用鼠标
我有一个应用程序,需要在运行时根据用户输入以编程方式将固定大小的子窗口小部件添加到停靠窗口小部件。我想将这些小部件添加到 Qt::RightDockArea 上的停靠栏,从上到下直到空间用完,然后创建
我想彻底删除QDockWidget的标题栏。除了样式表,还有什么方法可以做到这一点吗? 最佳答案 dockWidget->setTitleBarWidget(new QWidget()); 关于c++
我正在制作一个小应用程序,用于使用 Qt 和 C++ 对图像应用各种滤镜。 我的问题是,是否可以在 QDockWidget 上添加多个 widget ?因为我想添加按钮以重新应用停靠栏上的最后 5 个
我想创建一个包含多个 QDockWidgets 的小部件,目的是将其放入 QMainWindow 中。问题是,如果我使用 layout->addWidget(dockWidget); 将 QDockW
当我将多个 QDockWidget 分组在同一位置时,它们的选项卡位于底部。有没有办法将它们放在顶部? 如果我可以用选项卡本身替换标题栏,那就更好了。 Eclipse IDE 具有非常相似的行为,如以
如何设置 QDockWidget 的初始宽度? 我已经实现了 sizeHint 功能,但接下来呢? 最佳答案 QDockWidget 的文档说: A QDockWidget acts as a wra
我正在使用 QDockWidgets 并将其中两个放在我的应用程序的左侧,以便可以使用选项卡在它们之间进行选择。然而,Qt 的默认行为看起来很糟糕而且不直观。它不能拖动选项卡来移动小部件,而是在必须拖
我在我的主窗口中创建了一个没有 centralwidget 的应用程序,并显示为最大化: setCentralWidget(0); setWindowState(Qt::WindowMaximized
有没有办法在样式表中更改 QDockWidget(Qt 4.8)的悬停/按下图标?我正在使用这种样式来更改默认状态的按钮图像: QDockWidget{ font-weight: bold;
我有一个停靠小部件,现在我想添加一个“窗口”菜单来显示/隐藏小部件。很容易做到 showPropWinAct = new QAction(tr("&Properties"), this); showP
我是一名优秀的程序员,十分优秀!