t
April 24, 2017, 2:41 a.m.

Несколько QToolBar

Как создать несколько ToolBar-ов и что бы сойденялись в один, что-то вроде как в АдобФотошоп? (с пример пожалуйста)

2

Do you like it? Share on social networks!

3
Evgenii Legotckoi
  • April 24, 2017, 12:29 p.m.
  • The answer was marked as a solution.

Нужно просто добавить нужное количество QToolBar в MainWindow через метод QMainWindow::addToolBar .

Заголовочный файл MainWindow

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QToolBar>
#include <QToolButton>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QToolBar *firstToolBar;
    QToolBar *secondToolBar;
    QToolButton *firstToolButton;
    QToolButton *secondToolButton;
};

#endif // MAINWINDOW_H

Файл реализации MainWindow

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    firstToolBar = new QToolBar("First Toolbar");
    firstToolButton = new QToolButton(this);
    firstToolButton->setText("first");
    firstToolBar->addWidget(firstToolButton);
    addToolBar(firstToolBar);

    secondToolBar = new QToolBar("Second Toolbar");
    secondToolButton = new QToolButton(this);
    secondToolButton->setText("second");
    secondToolBar->addWidget(secondToolButton);
    addToolBar(secondToolBar);
}

MainWindow::~MainWindow()
{
    delete ui;
}

Это пример с двумя QToolBar , в каждом из которых по одной кнопке QToolButton

    t
    • May 15, 2017, 7:35 a.m.

    Можно ли сделать так, что бы к созданному toolbar-у нельзя было сойденить другой и как изменить их стили(также с помощью "StyleHelper"?)

      Evgenii Legotckoi
      • May 15, 2017, 12:34 p.m.

      У QToolBar имеется метод setAllowedAreas() , через который можно установить для ToolBar`ов разрешённые области. А setMovable() позволяет отключить перемещение ToolBar`ов.

      Да, стили можно задать через StyleSheet.

        Comments

        Only authorized users can post comments.
        Please, Log in or Sign up
        • Last comments
        • AK
          April 1, 2025, 11:41 a.m.
          Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
        • Evgenii Legotckoi
          March 9, 2025, 9:02 p.m.
          К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
        • VP
          March 9, 2025, 4:14 p.m.
          Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
        • ИМ
          Nov. 22, 2024, 9:51 p.m.
          Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
        • Evgenii Legotckoi
          Oct. 31, 2024, 11:37 p.m.
          Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup