Qt QStatusBar 更宽的分隔符

Posted

技术标签:

【中文标题】Qt QStatusBar 更宽的分隔符【英文标题】:Qt QStatusBar wider separator 【发布时间】:2015-08-01 15:07:15 【问题描述】:

我正在使用 qt 开发嵌入式 gui 应用程序。例如,我正在使用 2 个 QStatusBars 制作一个可以在示波器上看到的类似菜单的按钮:

我的问题是我不知道以一定宽度将按钮彼此分开的正确方法。在图片中你可以看到我添加了几个分隔符来实现这一点,但在目标上运行时看起来不是这样。

有没有更好的方法来分隔 QStatusBar 上具有一定宽度的按钮?

【问题讨论】:

QSpacerItem 或者简单地说,一个 blanc QWidget 呢? 确实使用了 QSpacerItem 如何在状态栏中的 2 个小部件之间添加间隔? @UmNyobe @Martin 我不知道如何在状态栏中插入 QSpacerItem。 @Martin 这样做会给你错误的说法;无法将参数 1 从 'QSpacerItem*' 转换为 'QWidget*' 【参考方案1】:

我希望您按照 Martin 的建议使用空白小部件进行分离,就像这样;

//the 2 widgets in the status bar
button1 = new QPushButton("Button1");
button2 = new QPushButton("Button2");

//the blank widget. You can set your width with 'setFixedWidth(int)'
widget = new QWidget;
widget->setFixedWidth(50);
widget->setHidden(1);
widget->setVisible(1);

//placing them in the status bar
statusBar = new QStatusBar;
statusBar->addWidget(button1);
statusBar->addWidget(widget);
statusBar->addWidget(button2);

【讨论】:

以上是关于Qt QStatusBar 更宽的分隔符的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UITableView tableHeaderView 设置比 UITableView 宽度更宽的宽度?

伸缩项目在更宽的屏幕上伸展

如何防止窗口范围的粘性元素在更宽的块内滚动?

Qt 小数分隔符

带有垂直分隔符的 qt 文件菜单以创建最近的列

如何在 Qt Designer 中删除 QMenu 分隔符?