What I want: http://puu.sh/3oUjh.jpg What I have: http://puu.sh/3oUnI.png

The toolbar is made in mainwindow.ui, ive tried ui->_toolbar->setLayoutDirection(Qt::LeftToolBarArea);

But I get this error: no matching function for call to 'QToolBar::setLayoutDirection(Qt::ToolBarArea)'

有帮助吗?

解决方案

You can use QToolBar::orientation property:

ui->myToolbar->setOrientation(Qt::Vertical);

You can also use QMainWindow::addToolBar:

addToolBar(Qt::LeftToolBarArea, ui->myToolbar);

Note that by default the user is able to drag toolbars and attach them to any side of the main window.

其他提示

You're using the wrong enum for setLayoutDirection:

// Don't use this.  You need to use a different method 
// if you want it placed against the left side.
enum ToolBarArea {
    LeftToolBarArea = 0x1,
    RightToolBarArea = 0x2,
    TopToolBarArea = 0x4,
    BottomToolBarArea = 0x8,

    ToolBarArea_Mask = 0xf,
    AllToolBarAreas = ToolBarArea_Mask,
    NoToolBarArea = 0
};

You need to use something from Qt::LayoutDirection:

enum LayoutDirection {
    LeftToRight,
    RightToLeft,
    LayoutDirectionAuto
};

ui->_toolbar->setLayoutDirection(Qt::LeftToRight);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top