Qt QToolBar 无法正常工作

Posted

技术标签:

【中文标题】Qt QToolBar 无法正常工作【英文标题】:Qt QToolBar not functioning properly 【发布时间】:2013-11-15 03:18:36 【问题描述】:

我无法让我的工具栏显示边框,甚至无法移动。我无法解决这个问题,我是 Qt 的新手,所以任何帮助都将不胜感激。

我的代码:

QWidget *view = new QTextEdit(this);
QVBoxLayout *vbox = new QVBoxLayout(this);

fileToolBar = new QToolBar(this);
fileToolBar->addAction("file");
fileToolBar->setMovable(true);

vbox->addWidget(fileToolBar);
vbox->addWidget(view);
vbox->setContentsMargins(0,0,0,0);
vbox->setSpacing(0);
setLayout(vbox);

这是它的外观图片。我有四个不同的实例,位于我的应用程序中,我正在使用 QSplitter 进行拆分。每个都有一个工具栏。

【问题讨论】:

【参考方案1】:

正如Qt documentation 所说的工具栏是可移动的:

此属性仅在工具栏位于 QMainWindow 中时才有意义。

所以如果你想创建一个可移动的工具栏,你需要考虑改用QMainwWindow

【讨论】:

感谢您的帮助。我只是试着让它移动,看看它是否正常工作,因为边界没有出现。我更关心没有显示的边界。我完全复制了另一个人已经实施的内容,但得到了不同的结果。你可以在这里找到它qt-project.org/forums/viewthread/3647 @Wallace,我相信那个人还在用QMainWindow,不是吗? 他的帖子的标题是“将工具栏添加到 QSplitter 的子小部件”,从代码来看,它看起来不像。但是,我是 Qt 新手,可能是错的。

以上是关于Qt QToolBar 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

用Qt的QToolBar怎么设置标题?

qt qtoolbar怎样平均分配按钮位置

获取 QToolbar 的当前停靠区域的简单方法

QT中两个QToolBar怎么两行显示,不要都在同一行中

Qt__主窗口菜单和工具条(QMainWindow,QMenu,QToolBar)

QT学习之如何在QToolBar中添加带图标的QToolButton并设置图标大小