问题标签 [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.
c++ - QTabBar/QTabWidget 中选项卡的内联重命名
我真的想要一个可以通过双击标签标题重命名的 QTabWidget。我已经用谷歌搜索并找到了这个解决方案,但它更像是一个开发人员的大纲,他知道自己通过 Qt 的方式并将其子类化为小部件。我有点卡住如何实现这一切。我已经使用了一个在该线程下方给出的示例(使用IndependentLineEdit
等等)并且它起作用了,但这不是我想要的。我不想有任何类型的 InputDialog。我不想有任何浮动小部件或其他东西。我基本上想要的是使用 QTabWidget(子类),其行为方式与现代办公套件中的电子表格选项卡类似 - 例如,选项卡标签被无缝行编辑取代,它在 Enter 上重置选项卡标签或在 Esc 上保持完整。到目前为止,我还没有找到这样的解决方案。我明白我真正需要的是非常接近这个:
在填充有 QTabBar::tabText() 的 QTabBar::tabRect() 处提供临时 QLineEdit
但我不明白该怎么做。此外,由于 QTabBar 是一种裸标签栏,我也希望将其包含在 QTabWidget(子类)中。
c++ - QTabBar 保持最后一个标签固定
我使用 QTabWidget addTab方法在右侧选项卡中添加了一个“新选项卡”按钮。
在多个选项卡上显示截断的选项卡栏并隐藏最后一个选项卡。
我试图设置 QTabBar::setUsesScrollButtons(false);
但是 TabWidget 宽度得到扩展。
如何保持最后一个标签固定?
c++ - QTabBar 保留标签位置
在我的应用程序中QTabBar
,如果有很多选项卡,我有一个使用滚动按钮的小部件。
现在,在currentChanged(int)
信号上,我调用一个重命名先前和当前选项卡(调用setTabText()
)的方法。
不幸的是,这会重新绘制整个QTabBar
选项卡,因此如果我当前的选项卡在重新绘制后位于滚动选项卡栏的中间某处,那么它是该栏上最后绘制的选项卡,以便我看到更多前面的选项卡。有没有办法将当前标签保持在同一位置?
qt - 如何创建类似于 QDockWidget 但用于选项卡的系统?
我有一个想法,我不知道如何实施。我正在使用 Qt,我希望有一个选项卡系统,允许我以与使用 QDockWidgets 相同的方式使用选项卡,即:使用 QDockWidgets,您可以选择一个小部件并使用它漂浮在监视器周围或他可以将它停靠在四个侧面中任何一个的 QMainWindow 中。好吧,我想在 QTabWidget 中拥有这样的属性!所以假设我面前有两个 QTabWidget。根据提议的想法,我将能够将一个选项卡(及其小部件)从一个 QTabWidget 拖放到另一个 QTabWidget 或什至简单地将其从其原始 QTabWidget 取消停靠并开始独立使用它作为具有一个选项卡的另一个 QTabWidget。
好吧,我找不到“自然地”以这种方式使用 QTabWidget 的方法;似乎 Qt 的小部件类包没有提供这种可能性。那么有没有人知道任何向公众开放的项目包含一个能够做这种事情的类?或者我怎么能自己实现这样一个新类?(例如,我不知道如何从 QTabBar 制作拖放效果,因为即使setMovable
设置为true
,仍然无法使选项卡远离 QTabBar 的区域。
任何帮助将不胜感激。
qt - QTabBar:更改背景颜色时选项卡的边框消失
我想将我的 QT 应用程序(基于 QT 4.8.6)的默认背景颜色更改为不同的(较暗)灰色。我通过添加来做到这一点
到我的 QSS 文件中的 QWidget 部分。这很好用,除了选项卡。当我没有这条线时,我的应用程序中的选项卡看起来不错,因此所选选项卡在选项卡和选项卡小部件之间没有线,所有其他选项卡都有边框(适用于顶部和底部选项卡)。
当我添加背景颜色时,(未选择的)选项卡和选项卡小部件之间的线消失了,对于顶部和底部选项卡都是如此。我尝试向选项卡小部件窗格添加边框,但这也会在所选选项卡和选项卡小部件之间添加边框。
如何更改应用程序的背景颜色并保持选项卡应有的外观?
更新:
根据要求提供 QSS 文件。我删除了与此问题无关的所有内容:
使用此 QSS 文件,背景更暗,但选项卡和窗格之间没有线条。当我禁用背景色线时,选项卡显示正常(但窗口当然会变成浅灰色)。
还有一张说明问题的图片:
qt - 简单的功能区:自动调整工具栏和选项卡的大小
我正在尝试使用 Qt5 实现简单的选项卡式界面。我将 QTabWidget 与放置在其选项卡内的 QToolBars 一起使用,并将 QActions 添加到 QToolBars:
下面的工具栏和小部件位于垂直布局中。我希望工具栏自动调整它们的高度以使其高度足以容纳 QToolButtons 内部(最后一个可以显示图标、文本或两者(图标下或右侧的文本),这会影响它们的高度)和自动调整它们的宽度以显示尽可能多的工具按钮,以适应父选项卡的宽度。此外,我希望父选项卡能够自动拉伸或缩小它们的高度,以便能够在其中显示工具栏。在Qt中可能吗?如果是,那么如何?
UPDATE1:水平自动拉伸已经通过使用工具栏作为 QTabWidget 的选项卡小部件来完成。但是垂直的仍然缺失。重要代码(用于 QDesigner):
当前,当窗口垂直调整大小时,选项卡小部件也会垂直调整大小。但我希望它仅根据包含的工具栏的高度调整大小,并在调整父窗口大小时保持其高度。
UPDATE2:预期的垂直自动调整大小是通过将 QTabWidget 垂直大小策略设置为 Fixed 并将垂直大小策略下方的 QScrollArea 设置为 Expanding 来完成的。现在对上面列出的 UI XML 进行了相应的修改。
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