问题标签 [qtabbar]

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 投票
1 回答
1172 浏览

c++ - QTabBar/QTabWidget 中选项卡的内联重命名

我真的想要一个可以通过双击标签标题重命名的 QTabWidget。我已经用谷歌搜索并找到了这个解决方案,但它更像是一个开发人员的大纲,他知道自己通过 Qt 的方式并将其子类化为小部件。我有点卡住如何实现这一切。我已经使用了一个在该线程下方给出的示例(使用IndependentLineEdit等等)并且它起作用了,但这不是我想要的。我不想有任何类型的 InputDialog。我不想有任何浮动小部件或其他东西。我基本上想要的是使用 QTabWidget(子类),其行为方式与现代办公套件中的电子表格选项卡类似 - 例如,选项卡标签被无缝行编辑取代,它在 Enter 上重置选项卡标签或在 Esc 上保持完整。到目前为止,我还没有找到这样的解决方案。我明白我真正需要的是非常接近这个:

在填充有 QTabBar::tabText() 的 QTabBar::tabRect() 处提供临时 QLineEdit

但我不明白该怎么做。此外,由于 QTabBar 是一种裸标签栏,我也希望将其包含在 QTabWidget(子类)中。

0 投票
0 回答
164 浏览

c++ - QTabBar 保持最后一个标签固定

我使用 QTabWidget addTab方法在右侧选项卡中添加了一个“新选项卡”按钮。

在多个选项卡上显示截断的选项卡栏并隐藏最后一个选项卡。

我试图设置 QTabBar::setUsesScrollButtons(false);

但是 TabWidget 宽度得到扩展。

如何保持最后一个标签固定?

0 投票
1 回答
378 浏览

c++ - QTabBar 保留标签位置

在我的应用程序中QTabBar,如果有很多选项卡,我有一个使用滚动按钮的小部件。

现在,在currentChanged(int)信号上,我调用一个重命名先前和当前选项卡(调用setTabText())的方法。

不幸的是,这会重新绘制整个QTabBar选项卡,因此如果我当前的选项卡在重新绘制后位于滚动选项卡栏的中间某处,那么它是该栏上最后绘制的选项卡,以便我看到更多前面的选项卡。有没有办法将当前标签保持在同一位置?

0 投票
1 回答
1340 浏览

qt - 如何创建类似于 QDockWidget 但用于选项卡的系统?

我有一个想法,我不知道如何实施。我正在使用 Qt,我希望有一个选项卡系统,允许我以与使用 QDockWidgets 相同的方式使用选项卡,即:使用 QDockWidgets,您可以选择一个小部件并使用它漂浮在监视器周围或他可以将它停靠在四个侧面中任何一个的 QMainWindow 中。好吧,我想在 QTabWidget 中拥有这样的属性!所以假设我面前有两个 QTabWidget。根据提议的想法,我将能够将一个选项卡(及其小部件)从一个 QTabWidget 拖放到另一个 QTabWidget 或什至简单地将其从其原始 QTabWidget 取消停靠并开始独立使用它作为具有一个选项卡的另一个 QTabWidget。

好吧,我找不到“自然地”以这种方式使用 QTabWidget 的方法;似乎 Qt 的小部件类包没有提供这种可能性。那么有没有人知道任何向公众开放的项目包含一个能够做这种事情的类?或者我怎么能自己实现这样一个新类?(例如,我不知道如何从 QTabBar 制作拖放效果,因为即使setMovable设置为true,仍然无法使选项卡远离 QTabBar 的区域。

任何帮助将不胜感激。

0 投票
2 回答
1412 浏览

macos - 如何在 OSX 上设置 Qt 的标签栏背景样式

在 OSX 上使用 Qt,有没有办法改变 QTabWidget 内的深色标签栏背景颜色?

我已经尝试了各种 QSS 样式表的东西,并且可以更改除此之外的所有内容。

也许我可以通过拦截和调色板来做到这一点?也许我可以拦截绘画事件?也许我可以设置一些透明度?

在此处输入图像描述

0 投票
0 回答
668 浏览

qt - QTabBar:更改背景颜色时选项卡的边框消失

我想将我的 QT 应用程序(基于 QT 4.8.6)的默认背景颜色更改为不同的(较暗)灰色。我通过添加来做到这一点

到我的 QSS 文件中的 QWidget 部分。这很好用,除了选项卡。当我没有这条线时,我的应用程序中的选项卡看起来不错,因此所选选项卡在选项卡和选项卡小部件之间没有线,所有其他选项卡都有边框(适用于顶部和底部选项卡)。

当我添加背景颜色时,(未选择的)选项卡和选项卡小部件之间的线消失了,对于顶部和底部选项卡都是如此。我尝试向选项卡小部件窗格添加边框,但这也会在所选选项卡和选项卡小部件之间添加边框。

如何更改应用程序的背景颜色并保持选项卡应有的外观?

更新:

根据要求提供 QSS 文件。我删除了与此问题无关的所有内容:

使用此 QSS 文件,背景更暗,但选项卡和窗格之间没有线条。当我禁用背景色线时,选项卡显示正常(但窗口当然会变成浅灰色)。

还有一张说明问题的图片:

选项卡的问题

0 投票
1 回答
2120 浏览

qt - 简单的功能区:如何在 QTabBar 中使用 QActions?

我正在尝试使用 Qt5 实现简单的选项卡式界面。我使用QTabWidgetwith QToolBars 放置在其选项卡中,并将QActions 添加到QToolBars 中。

这可行,但会导致以下问题:任何操作仅在其父选项卡处于活动状态时仍可访问。如果我尝试对当前“不可见”的操作使用键盘快捷键,我将不会成功。由于没有菜单等,选项卡是唯一放置操作的地方。

以下是我将元素添加到工具栏的方法:

和截图:

类似功能区的 2-tabs 界面

即使当前未打开操作的父选项卡,如何使用快捷方式访问操作?

0 投票
0 回答
894 浏览

qt - 简单的功能区:自动调整工具栏和选项卡的大小

我正在尝试使用 Qt5 实现简单的选项卡式界面。我将 QTabWidget 与放置在其选项卡内的 QToolBars 一起使用,并将 QActions 添加到 QToolBars:

关联

下面的工具栏和小部件位于垂直布局中。我希望工具栏自动调整它们的高度以使其高度足以容纳 QToolButtons 内部(最后一个可以显示图标、文本或两者(图标下或右侧的文本),这会影响它们的高度)和自动调整它们的宽度以显示尽可能多的工具按钮,以适应父选项卡的宽度。此外,我希望父选项卡能够自动拉伸或缩小它们的高度,以便能够在其中显示工具栏。在Qt中可能吗?如果是,那么如何?

UPDATE1:水平自动拉伸已经通过使用工具栏作为 QTabWidget 的选项卡小部件来完成。但是垂直的仍然缺失。重要代码(用于 QDesigner):

当前,当窗口垂直调整大小时,选项卡小部件也会垂直调整大小。但我希望它仅根据包含的工具栏的高度调整大小,并在调整父窗口大小时保持其高度。

UPDATE2:预期的垂直自动调整大小是通过将 QTabWidget 垂直大小策略设置为 Fixed 并将垂直大小策略下方的 QScrollArea 设置为 Expanding 来完成的。现在对上面列出的 UI XML 进行了相应的修改。

0 投票
0 回答
775 浏览

c++ - 如何自定义 QDockWidget 的 QTabBar?

我说的是这个:

在此处输入图像描述

如何获得QTabBarQDockWidget的 s 停靠的时间?我想用定制的替换它。QDockWidget我发现使用 a的唯一东西QTabBar是在源代码中,一个名为QDockAreaLayoutInfo. 但这对我没有太大帮助...

甚至有可能做这样的事情吗?

0 投票
1 回答
1352 浏览

c++ - QTabWidget or QTabBar displaying the same QWidget in different tabs using C++

I'm working with a QTabWidget right now displaying just one QWidget with different elements (labels, buttons, ...). Working with Ubuntu and Qt5.5.

I'd like to show the same QWidget in more than one tab with different values. Is there a "clean" for it?

Micha