- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在两边都有一个 QSplitter 和两个小部件,但我希望能够有一个边距,以便两个小部件之间有一个清晰的过渡。我查看了 QSplitter 和 QSplitterHandle,但没有看到任何明确的方法。
如何在两个小部件之间添加分隔线?
最佳答案
样式表是一种强大的机制,可用于更改 Qt 中任何小部件的外观。
参见 here获取快速教程,以及 here引用指南。可以使用 Designer 中的编辑器分配样式表,或使用 setStylesheet(QString) 作为字符串传递。使用 Designer 肯定更容易,因为这样您就可以在运行小部件之前看到它的外观。
现在,针对您的具体问题。 QSplitter 本质上是一个 QFrame。但它还包括一个 handle - 如您所知。所以通常这就是通常的样式。
因此,例如您可以这样做:
QSplitter::handle {
image: url(:/images/splitter.png);
}
它为拆分器 handle 提供图像。这有点类似于在 Motif 下所做的,其中始终显示一个小的矩形 handle ,用户可以单击它来移动拆分器。
通过一些实验,您可以为 handle 创建一条很酷的分隔线。
QSplitter::handle {
background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0,
stop:0 rgba(255, 255, 255, 0),
stop:0.407273 rgba(200, 200, 200, 255),
stop:0.4825 rgba(101, 104, 113, 235),
stop:0.6 rgba(255, 255, 255, 0));
image: url(:/images/splitter.png);
}
或者更像这幅画的东西。
QSplitter::handle:horizontal {
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 #eee, stop:1 #ccc);
border: 1px solid #777;
width: 13px;
margin-top: 2px;
margin-bottom: 2px;
border-radius: 4px;
}
对于最后一个,我们专门只覆盖水平分割器,因为某些属性 - 如 margin-top 和 bottom,以及如果我们更改垂直分割器则需要不同的宽度。
希望这对您有所帮助。一旦开始使用样式表,乐趣就真正开始了。
关于c++ - QSplitter 显示两个小部件之间的分隔符或边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6832499/
在我的应用程序中,我在顶部有一个树 View ,上面有一些与树 View 相关的按钮。在这下面我有一个表格 View ,还有一些与之相关的按钮。我有一个 QVBoxLayout 顶部和底部。 请看屏幕
是否有可能拥有 QSplitter哪个有一个固定大小的小部件和另一个大小可变的小部件? 此代码设置正确,但是当调整窗口大小时,拆分器与初始小部件大小成比例变化: vSplitter = new QSp
使用QSplitter有时很难查看是否存在“可抓取”区域以及单击该区域以进行抓取。 我想将抓斗区域的颜色设置为与背景不同的颜色,以便可见。 这可能吗? 最佳答案 当然,请使用handle选择器: QS
我正在使用 python 2.6 和兼容的 PyQt4 版本 4.5.3,在我的窗口中,我正在为两个 QTableWidget 使用 QSplitter 但是我找不到两个小部件之间的分隔栏。但在 Au
我有 3 个 QWidget 放在一个水平的 QSplitter 中。所以有左中右QWidget。我有 2 个抓取点(这是怎么称呼的?):在左/中和中/右 QWidgets 之间。 我想要的是具有固定
我在两边都有一个 QSplitter 和两个小部件,但我希望能够有一个边距,以便两个小部件之间有一个清晰的过渡。我查看了 QSplitter 和 QSplitterHandle,但没有看到任何明确的方
假设我有一个窗口,其中有 2 个水平拆分器和一个按钮。如何通过单击按钮向上/向下移动拆分器? 最佳答案 看看http://doc.qt.io/qt-4.8/qsplitter.html#setSize
在 QtCreator 中,我创建了一个 QSplitter,它将 QTreeWidget 与垂直布局垂直分开,右侧有很多东西。 我希望第二列默认占用最大化第一列所需的最小空间。 我尝试将拆分器的大小
我想要一个QSplitterHandle仅调整其上方小部件的大小,方法是: 最初修复了 QSplitter 中所有小部件(实际上是 QFrame)的最大和最小高度。 在QSplitterHandle:
我有一个带有 2 个小部件的 QSplitter,我想使用按钮控制显示哪个小部件。一个用于“左”,一个用于“右”,第三个用于两者。 我怎样才能通过以下方式控制小部件的宽度用户,并给他一个更短的方法来做
当应用程序启动但仍在构建时(当所有初始小部件正在创建时等等),我将一个 QSplitter 添加到我的布局中,其中有两个小部件,我想要第二个小部件或多或少占据了可用空间的 60/70%,而第一个小部件
我有一个带有两个子 QWidget 对象的水平 QSplitter。现在,当用户将拆分器 handle 向右拖动超过某个阈值(我假设这取决于 child 的最小尺寸)时,右侧的 QWidget 会突然
当光标在拆分器下方时,我需要为 QSplitter 处理双击。 我重新定义了 mouseDoubleClickEvent。但这不适用于这种情况。 当我在光标位于拆分器下方(准备移动拆分器)时双击时,该
是否可以完全隐藏 QSplitter 小部件的句柄?我试图隐藏 () 它们,但它不起作用 — 句柄仍在屏幕上,并且 isVisible() 报告错误。 QSplitter::setHandleWidt
共有三个框架:顶部、中间和底部。每当我调整底部框架的大小时,顶部框架总是同时调整大小。我希望当底部框架调整大小时顶部框架保持其大小。如何实现这一目标? from PyQt5.QtWidgets imp
我的 Qt 桌面应用程序的主窗口中有一个垂直的 QSplitter,带有 2 个小部件。 我正在尝试找到一种方法来使用它,以便在调整窗口大小时底部小部件的高度保持固定,但用户在拖动 handle 时仍
在我的应用程序中有一个由 QSplitter 拆分的窗口,我需要删除一个小部件。 我怎样才能做到这一点?我找不到有用的方法 最佳答案 Qt 中的许多东西不能“传统地”删除。而是在其上调用 hide()
我是 Qt 新手,想为程序实现一些对话框。 对话框的 GUI 很简单:左边是一棵树,右边是一些选项卡(选项卡的数量可能会发生变化),每个选项卡中都有一些用于输入的小部件。 但是当我用Qt5.0.2实现
我尝试在两个小部件之间切换拆分器容器,保持拆分器的实际大小。为此,我使用 QSplitter.sizes() 来读取实际大小,并在切换小部件后使用 QSplitter.setSizes() 。 问题是
我有一个带有两个小部件的 QSplitter。其中一个是静态的,另一个应该在按下按钮时改变。但问题是小部件没有改变? 我有一个正在更改的小部件的指针 - this->content 要切换到的小部件在
我是一名优秀的程序员,十分优秀!