我的QToolbar
问题。
我有一个QToolBar并在其中使用了QVBoxLayout来处理我的QPushButtons。
我的问题是当我在QVBoxLayout周围浮动我的ToolBar时会失去它的布局。我把它放回到码头后,布局恢复正常。
我想知道在任何情况下是否有办法修复相同的布局。
我尝试为每个状态实现两种不同的布局,固定和浮动,但也没有用。
我找到的唯一方法是忘记QToolBar并重新实现我自己的个性化QWidget并模拟我自己的ToolBar,以便它运行良好。
答案 0 :(得分:1)
QToolBar
负责自己的布局,你不应该担心它。您应该添加操作或小部件,它会自动水平或垂直布置关于方向的项目。
通过使用
addAction()
或insertAction()
添加操作来添加工具栏按钮。可以使用addSeparator()
或insertSeparator()
分隔按钮组。如果工具栏按钮不合适,可以使用addWidget()
或insertWidget()
插入窗口小部件。合适的小部件示例包括QSpinBox
,QDoubleSpinBox
和QComboBox
。
例如,以下代码段产生以下布局:
ui->mainToolBar->addWidget(new QPushButton("A"));
ui->mainToolBar->addWidget(new QPushButton("B"));
ui->mainToolBar->addWidget(new QPushButton("C"));
答案 1 :(得分:0)
您不应更改QToolBar
的布局。它管理自己的布局,通过这样做你有点破坏它。
QToolBar
是一个高级窗口小部件,使用QActions
处理其内容。您需要在应用中创建操作,并使用addAction()
或insertAction()
添加这些操作。
QToolBar
的样式应该通过继承当前的QStyle
(困难)或使用样式表(简单)来完成