我希望工具图标位于右侧,而不是顶部。正如我所经历的那样,我可以手动移动它们,我可以将它们orientation()
设置为垂直,但它们仍然位于顶部;我可以设置setAllowedAreas()
,这意味着我限制工具栏区域可以驻留的位置,但工具按钮位于顶部。我需要像setToolbarArea()
这样的东西。有类似的东西吗?
答案 0 :(得分:2)
您可以再次致电addToolBar
以移动工具栏。
如果主窗口已经管理工具栏,那么它只会移动 工具栏到区域。
即
<强> mainwindow.h 强>
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QToolBar * toolBar;
public slots:
void moveLeft();
void moveRight();
};
#endif // MAINWINDOW_H
<强> mainwindow.cpp 强>
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
toolBar= new QToolBar("Tool Bar");
toolBar->addAction(QIcon(":/qt.png"), "FirstAction", this, SLOT(moveLeft()));
toolBar->addAction(QIcon(":/qt.png"), "SecondAction", this, SLOT(moveRight()));
addToolBar(Qt::RightToolBarArea, toolBar);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::moveLeft()
{
addToolBar(Qt::LeftToolBarArea, toolBar);
}
void MainWindow::moveRight()
{
addToolBar(Qt::RightToolBarArea, toolBar);
}